Зачастую возникает задача определить какие порты прослушиваются той или иной службой и прослушиваются ли они вообще (бывают ошибки конфигурации, когда служба запустилась, но порт не прослушивается).
Есть несколько способов:
netstat
netstat - стандартная утилита Linux, позволяет увидеть открытые порты.
Параметры:
- -l / --listening - только прослушиваемые порты;
- -p / --program - показывать имя процесса и его PID;
- -t / --tcp - показать tcp порты;
- -u / --udp показать udp порты;
- -n / --numeric показывать порты в числовом виде, а не алиасы (имена служб).
1 | netstat -tulpn |
Пример вызова:
ss
ss - это альтернатива netstat. В отличие от netstat, которая берет информацию из /proc, утилита ss напрямую связывается с подсистемой ядра Linux. Опции аналогичны.
1 | ss -tulpn |
Пример вызова:
lsof
lsof (от англ. LiSt of Open Files) — утилита, выводит информации о том, какие файлы используются теми или иными процессами. Позволяет посмотреть все открытые в системе соединения.
Опции:
- -i - Показать сетевые соединения
- -P - показывать порты в числовом виде
По умолчанию может быть не установлена в системе. Устанавливаем в зависимости от системы
1 | sudo yum install lsof |
1 | sudo apt-get install lsof |
Посмотреть открытые порты и соединения
1 | lsof -i -P |
Пример вызова: