← Назад ко всем вопросам

Как посмотреть какие сетевые соединения открыты у процесса в Linux

1️⃣ Как кратко ответить

Используйте команду lsof -i -a -p <PID> для отображения сетевых соединений, открытых у процесса с идентификатором <PID>. Также можно использовать netstat -tulnp | grep <PID> или ss -tulnp | grep <PID> для получения аналогичной информации.

2️⃣ Подробное объяснение темы

В Linux для мониторинга сетевых соединений, открытых у конкретного процесса, можно использовать несколько утилит. Наиболее распространенные из них — lsof, netstat и ss. Каждая из этих утилит предоставляет информацию о сетевых соединениях, но делает это немного по-разному.

lsof

lsof (List Open Files) — это утилита, которая показывает список всех открытых файлов и сетевых соединений в системе. В контексте сетевых соединений, она может показать, какие порты и IP-адреса используются процессами.

Пример использования:

lsof -i -a -p <PID>
  • -i: Фильтрует вывод, показывая только сетевые соединения.
  • -a: Логическое "и", объединяет условия фильтрации.
  • -p <PID>: Указывает идентификатор процесса, для которого нужно показать соединения.

netstat

netstat — это утилита для отображения сетевых соединений, таблиц маршрутизации и статистики интерфейсов. Она может быть полезна для получения информации о сетевых соединениях, связанных с конкретным процессом.

Пример использования:

netstat -tulnp | grep <PID>
  • -t: Показывает только TCP соединения.
  • -u: Показывает только UDP соединения.
  • -l: Показывает только прослушиваемые сокеты.
  • -n: Показывает адреса и порты в числовом формате.
  • -p: Показывает идентификаторы процессов и имена программ, использующих соединения.

ss

ss (Socket Statictics) — это современная альтернатива netstat, которая предоставляет более детальную информацию о сетевых соединениях и работает быстрее.

Пример использования:

ss -tulnp | grep <PID>
  • -t: Показывает только TCP соединения.
  • -u: Показывает только UDP соединения.
  • -l: Показывает только прослушиваемые сокеты.
  • -n: Показывает адреса и порты в числовом формате.
  • -p: Показывает идентификаторы процессов и имена программ, использующих соединения.

Применение

Эти команды полезны для диагностики сетевых проблем, мониторинга активности процессов и обеспечения безопасности. Например, если вы подозреваете, что процесс открывает нежелательные соединения, вы можете использовать эти утилиты для проверки и анализа. Это также полезно для администраторов систем и разработчиков, которые хотят убедиться, что их приложения правильно обрабатывают сетевые соединения.

Тема: Linux / Unix
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки