Поиск по сайту:

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. Мы также показали, как проверить, какие процессы привязаны к определенным портам. Вы можете поделиться своими мыслями или задать любые вопросы через форму обратной связи ниже.