Операционная система 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
Ознакомьтесь с результатами, выведенными в окне, чтобы убедиться в том, что лишние порты закрыты, и ваш ПК находится в безопасности.