Обновить настройки cookies

Как определить какая программа использует порт в Linux

27 May 2025, 19:19:09
Бывают ситуации, когда необходимо найти, какая именно программа использует конкретный порт сервера. В этой статье мы рассмотрим три популярные утилиты, которые помогут решить эту задачу как можно быстрее и проще.

Использование ss

ss (англ. socket statistics) - современная утилита командной строки, позволяющая получить информацию о сетевых сокетах и соединениях. Присутствует по умолчанию в большинстве современных Linux-дистрибутивах.

Простая команда для отображения всех прослушиваемых портов:
ss -tulpn
  • -t - вывод только TCP-сокетов
  • -u - вывод только UDP-сокетов
  • -l - вывод только прослушиваемых сокетов
  • -p - отображать процесс (PID/имя)
  • -n - не преобразовывать хосты и порты
20250527_tkpJEVdi
В столбце Local Address:Port мы видим используемые IP и порт, в столбце Process - имя процесса, его PID.

Чтобы вывести информацию только о конкретном порте мы можем воспользоваться более сложным синтаксисом самой утилиты:
ss -tulpn '( sport = :21 )'
  • sport - фильтр по порту источника
  • 21 - интересующий нас порт
20250527_kJx8GpbA

Более привычный и удобный вариант, использовать утилиту grep:
ss -tulpn | grep ':21'
  • 21 - интересующий нас порт
20250527_9Oja9r0R

Использование утилиты netstat

netstat (англ. network statistics) - старая утилита, которая используется для отображения сетевых соединений, таблиц маршрутизации, статистики интерфейсов и многого другого. В некоторых современных системах заменена утилитой ss, по этому их параметры весьма схожи.
Для примера сразу воспользуемся grep и найдём, какая программа слушает порт 21 (FTP):
netstat -tulpn | grep ':21'
  • -t - вывод только TCP-сокетов
  • -u - вывод только UDP-сокетов
  • -l - вывод только прослушиваемых сокетов
  • -p - отображать процесс (PID/имя)
  • -n - не преобразовывать хосты и порты
  • 21 - интересующий порт
Это оказался сервис ProFTP (PID/имя программы в последнем столбце):
20250527_Z8Qx3iS2

Использование утилиты lsof

lsof (англ. list open files) - утилита, которая показывает какие файлы, сокеты открыты теми или иными процессами.
Команда:
lsof -Pn -i :21
  • -P - отключить преобразование портов в имена служб
  • -n - отключить преобразование IP-адресов в домены
  • -i - показывать сетевые соединения
  • 21 - интересующий нас порт
В стобцах COMMAND и PID мы видим информацию о программе, использующей указанный порт:
20250527_tEr70IEr

Мы рассмотрели три самых простых способа обнаружить программу, которая использует интересующий нас порт.
Если у вас возникнут проблемы с данной задачей на наших VPS или выделенных серверах, вы всегда можете обратиться в техническую поддержку - мы будем рады вам помочь!

Премиум выделенные серверы

Смотреть конфигурации