Как проверить открытые порты Linux

Операционная система Linux передаёт сетевые пакеты определенным программам. Выбор программы осуществляется посредством такого механизма, как сетевой порт. Опытные пользователи Линукс прекрасно знают, о чем идет речь, а вот новичкам было бы проще понять это явление на примере. Представьте себе ситуацию, когда курьеру нужно доставить посылку по определенному адресу. Дом, в котором окажется курьер – это IP-адрес ПК. Он просит вахтёра помочь разобраться, кому отнести свёрток. Номер нужной квартиры – то же самое, что и сетевой порт.

Когда порт имеет статус «открытый», подразумевается, что программа уже использует этот порт для связи с какой-либо иной программой. Это может происходить локально или через Internet. Теперь осталось разобраться с тем, как получить данные об открытых портах в ОС Линукс.

Для этих целей можно воспользоваться огромным множеством инструментов. В данном материале будут предложены самые распространенные и простые способы поиска нужной информации.

Программа Netstat

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

Главные опции Netstat:

  • -l – просмотр портов, которые прослушиваются;
  • -p – поиск имени программы и её PID;
  • -t – поиск tsp портов в Линукс;
  • -u – поиск udp портов в Линукс;
  • -n – просмотр IP-адресов, указанных в числовом формате.

Более подробно о netstat написано в другой статье www.vseprolinux.ru/netstat-linux

Пример:

# netstat -tulpn

Программа SS

Помимо команды netstat можно использовать программу ss. Эта утилита относится к числу современных программ. Некоторые пользователи отмечают повышенное удобство при работе с SS, ведь она отличается от своего «собрата» одним немаловажным нюансом – способностью связаться с ядром Линукс напрямую. В результате пользователь быстро получает необходимую информацию и видит перед собой обширные данные по запросу, чего нельзя сказать о Netstat.

При работе с SS также применяется опционал, прописанный ранее.

Запуск:

# ss -tulpn

Если хочется получить выборочную информацию (например, совершить вывод процессов, которые работают на 8080-м порту), следует задать команду следующего вида:

# ss -tulpn | grep :8080

Инструмент LSOF

При помощи данной программы пользователь может ознакомиться с данными относительно всех открытых соединений в Линукс. Опция, которую необходимо использовать для реализации задуманного: -i.

Если информация о сетевых службах не требуется, а хочется посмотреть только данные о портах, необходимо использовать опцию -P.

На практике это выглядит следующим образом:

# sudo lsof -I -P

И вновь просматриваем процесс, который работает на 80-м порту:

# lsof -I -P| grep :80

Утилита NMAP

Программа представляет собой популярный сканер для определения и тестирования на проникновение удалённых узлов. И только на первый взгляд может показаться, что данный инструмент не подходит для воплощения нашей идеи в жизнь. Наоборот! Сканер легко направляется на локальный ПК для просмотра требуемой информации.

Установка утилиты NMAP осуществляется посредством специальной команды:

# apt install nmap

Затем нужно ввести:

$ nmap localhost

Запуск программы вполне реален и без использования каких-либо опций – утилита способна работать в режиме стандартного сканирования.

Как посмотреть IP-адрес:

# wget -O - - q eth0.me

Теперь нужно поставить сканирование на отправную точку. Это делается так:

# nmap 189.29.237.111

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