Добавить в корзинуПозвонить
Найти в Дзене

Просмотр открытых портов с помощью утилит netstat, nmap и lsof

При устранении неполадок с сетевым подключением или проблем, связанных с конкретным приложением, в первую очередь следует проверить, какие порты на самом деле используются в вашей системе и какое приложение прослушивает определенный порт. Сетевой порт идентифицируется по его номеру, который связан с IP-адресом и типом протокола связи, например TCP или UDP. Каждый прослушивающий порт может быть открыт или закрыт (фильтрован) с помощью брандмауэра. В общих чертах, открытый порт — это сетевой порт, который принимает и отправляет пакеты в/из сети. Netstat (Network Statistic) — это инструмент командной строки для мониторинга входящих и исходящих сетевых подключений и просмотра таблиц маршрутизации, статистики интерфейсов и т. д. Этот инструмент важен и ценен для сетевых и системных администраторов Linux для мониторинга и устранения проблем, связанных с сетью. и определить производительность сетевого трафика. Чтобы вывести список всех прослушиваемых портов TCP и UDP, включая слу
Оглавление

При устранении неполадок с сетевым подключением или проблем, связанных с конкретным приложением, в первую очередь следует проверить, какие порты на самом деле используются в вашей системе и какое приложение прослушивает определенный порт.

Сетевой порт идентифицируется по его номеру, который связан с IP-адресом и типом протокола связи, например TCP или UDP.

Каждый прослушивающий порт может быть открыт или закрыт (фильтрован) с помощью брандмауэра. В общих чертах, открытый порт — это сетевой порт, который принимает и отправляет пакеты в/из сети.

Проверка открытых портов с помощью команды netstat

Netstat (Network Statistic) — это инструмент командной строки для мониторинга входящих и исходящих сетевых подключений и просмотра таблиц маршрутизации, статистики интерфейсов и т. д. Этот инструмент важен и ценен для сетевых и системных администраторов Linux для мониторинга и устранения проблем, связанных с сетью. и определить производительность сетевого трафика.

Чтобы вывести список всех прослушиваемых портов TCP и UDP, включая службы, использующие эти порты, и состояние сокета, используйте следующую команду:

netstat -tulpn
-2

Параметры, используемые в этой команде, имеют следующее значение:

  • -t : показать порты TCP
  • -u : показать порты UDP
  • -l : показать только прослушиваемые порты
  • -n : показать ip-адреса вместо имени хоста
  • -p : Отображение PID и имени процесса прослушивающего порт. Эта информация отображается только в том случае, если вы запускаете команду от имени пользователя root или sudo.

Важные колонки в выводе:

  • Proto - протокол, используемый сокетом
  • Local Address - адрес интерфейса на котором слушается порт
  • PID/Program name - PID и имя прооцесса

Если вы хотите отфильтровать результаты, используйте команду grep. Например, чтобы узнать, какой процесс прослушивает TCP-порт 22, используйте следующую команду:

$ sudo netstat -tulnp | grep :22
-3

Если вывод пуст, порт не прослушивается. Дополнительную информацию о команде netstat в Linux можно найти на ее man странице.

Проверка открытых портов с помощью команды lsof

Lsof (List Open Files), что означает дословно "отобразить открытые файлы". Эту команду используют для определения того, какие файлы каким процессом открыты.

В Linux все представляет собой файл. В том числе о сокетах можно думать, как о файле, который записывает данные в сеть.

Чтобы получить список всех прослушиваемых TCP-портов, воспользуйтесь следующей командой:

lsof -nP -iTCP -sTCP:LISTEN
-4

Опции в этой команде:

  • -n : не конвертировать номера портов в их названия
  • -P: Показывать ip интерфейсов, не преобразовывать их в хостнэйм
  • -iTCP -sTCP:LISTEN : Показать TCP порты, которые находятся в статусе LISTEN

Чтобы узнать, какой процесс прослушивает определенный порт, например порт 22, используется следующая команда:

lsof -nP -iTCP:22 -sTCP:LISTEN
-5

В выводе мы можем увидеть, что сервис sshd использует порт 22.

Проверка открытых портов с помощью nmap

Nmap, или Network Mapper, — это инструмент командной строки Linux с открытым исходным кодом для исследования сети и аудита безопасности. С помощью nmap администраторы серверов обычно быстро могут выявлять хосты и службы, найти проблемы безопасности и сканировать открытые порты.

Команду nmap можно использовать для проверки одного порта или нескольких портов.

Следующей командой, например, можно просканировать открытый порт на удаленном хосте:

nmap -p 80 192.168.56.1
-6

Чтобы просканировать диапазон портов, например, с 1 по 200, можно использовать следующую команду:

nmap -p 1-200 localhost
-7

Также можно применить, так называемое быстрое, сканирование всех популярных портов, чаще всего используемых приложениями

nmap -F localhost
-8

Заключение

Любая посторонняя информация, утекшая с вашего компьютера, может быть использована злоумышленником, чтобы попытаться воспользоваться известными уязвимостями или разработать новые. Чем меньше они смогут выяснить, тем лучше.

Поэтому советую, проверять на предмет открытости порты на своем ПК или сервере. Как это сделать, надеюсь, стало более понятней из этой статьи.

P.S. Если вам интересен материал не забывайте ставить палец вверх под статьей. А так же, подписывайтесь на анонсы новых статей в телеграмм и на сайте RoadIT