4 способа узнать, какие порты прослушивают в Linux
Состояние порта: открыт, фильтрован, закрыт или нефильтрован. Говорят, что порт открыт, если приложение на целевой машине прослушивает соединения/пакеты на этом порту.
В этой статье мы объясним четыре способа проверки открытых портов, а также покажем вам, как определить, какое приложение какой порт прослушивает в Linux.
1. Использование команды Netstat
Netstat — широко используемый инструмент для запроса информации о сетевой подсистеме Linux. Вы можете использовать его для печати всех открытых портов следующим образом:
sudo netstat -ltup
Флаг -l
сообщает netstat о необходимости печати всех прослушиваемых сокетов, -t
показывает все TCP-соединения, -u
отображает все UDP-соединения, а -p
включает печать имени приложения/программы, прослушивающей порт.
Чтобы печатать числовые значения, а не имена служб, добавьте флаг -n
.
sudo netstat -lntup
Вы также можете использовать команду grep, чтобы узнать, например, какое приложение прослушивает определенный порт.
sudo netstat -lntup | grep "nginx"
Альтернативно вы можете указать порт и найти привязанное к нему приложение, как показано.
sudo netstat -lntup | grep ":80"
2. Использование команды ss
Команда ss — еще один полезный инструмент для отображения информации о сокетах. Его выходные данные аналогичны выводам netstat. Следующая команда покажет все порты прослушивания для соединений TCP и UDP в числовом значении.
sudo ss -lntu
3. Использование команды Nmap
Nmap — мощный и популярный инструмент исследования сети и сканер портов. Чтобы установить nmap в вашей системе, используйте менеджер пакетов по умолчанию, как показано.
sudo apt install nmap [On Debian/Ubuntu]
sudo yum install nmap [On CentOS/RHEL]
sudo dnf install nmap [On Fedora 22+]
Чтобы просканировать все открытые/прослушиваемые порты в вашей системе Linux, выполните следующую команду (выполнение которой может занять много времени).
sudo nmap -n -PN -sT -sU -p- localhost
4. Использование команды lsof
Последний инструмент, который мы рассмотрим для запроса открытых портов, — это команда lsof, которая используется для вывода списка открытых файлов в Linux. Поскольку в Unix/Linux все является файлом, открытый файл может быть потоком или сетевым файлом.
Чтобы просмотреть все файлы Интернета и сети, используйте параметр -i
. Обратите внимание, что эта команда отображает сочетание имен служб и числовых портов.
sudo lsof -i
Чтобы узнать, какое приложение прослушивает определенный порт, запустите lsof в этой форме.
sudo lsof -i :80
Вот и все! В этой статье мы объяснили четыре способа проверки открытых портов в Linux. Мы также показали, как проверить, какие процессы привязаны к определенным портам. Вы можете поделиться своими мыслями или задать любые вопросы через форму обратной связи ниже.