Обновяване на предпочитанията за бисквитки

Как се определя коя програма използва порт в 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 или специализирани сървъри, винаги можете да се свържете с техническата поддръжка - ще се радваме да ви помогнем!