Узнаем, какие порты прослушиваются / открыты в Linux через netstat, ss, nmap и lsof — 11 августа 2026 г. в 06:48:36.145
Узнаем, какие порты прослушиваются / открыты в Linux через netstat, ss, nmap и lsof Выводим список открытых портов в Linux с помощью Netstat Для этого вводим в командную строку команду netstat с правами суперпользователя и опциями -ltupan: -l — выводит на экран все прослушивающиеся сокеты (сочетания IP-адреса и номера порта); -t — указывает, что нужно показать все TCP-соединения сетевой подсистемы; -u — указывает, что нужно показать UDP-соединения сетевой подсистемы; -a — показывает только активные соединения; -n — вместо названий служб показывает номера портов. $ sudo netstat -ltupan Расширяем возможности netstat с помощью команды grep Пользователь может расширить возможности утилиты netstat за счет использования фильтрации вывода — с помощью команды grep. Например, таким образом можно выяснить, какое именно ПО занимается прослушиванием конкретного порта. Для этого введите в командную строку команду netstat с опцией -tulpan, поставьте символ конвейера (вертикальную черту — |) и добавьте команду grep с аргументом "ssh": $ sudo netstat -tulpan | grep "ssh" Также Вы можете найти все приложения, прослушивающие определенный порт. Для этого введите комбинацию команд как в прошлом примере, однако в качестве аргумента для команды grep — используйте двоеточие и номер интересующего Вас порта (к примеру, ":80") $ sudo netstat -lntup | grep ":80" Выводим список открытых портов в Linux с помощью ss Предположим, что Вам нужно определить, какие приложения занимаются прослушиванием соединений TCP или UDP. В таком случае введите в командную строку команду ss с правами суперпользователя и опциями -lntu: -l — выводит на экран все прослушивающиеся сокеты; -n — вместо названий служб показывает номера портов; -t — указывает, что нужно показать все TCP-соединения сетевой подсистемы; -u — указывает, что нужно показать все UDP-соединения сетевой подсистемы. $ sudo ss -lntu Узнаем с помощью ss значения pid процессов, которые прослушивают порты Утилита ss позволяет пользователю вывести на экран список значений pid процессов, которые открыли порты. Для этого введите от имени суперпользователя в командную строку команду ss с опциями, показанными в предыдущем примере. И добавьте к ним опцию -p: $ sudo ss -lntup Выводим список открытых портов в Linux с помощью nmap Давайте попробуем вывести на экран список всех портов, которые прослушиваются в операционной системе Linux, с помощью утилиты nmap. Для этого введите с root-правами в командную строку команду nmap и опции -sT -sU -sV, добавив Ваш IP-адрес в качестве аргумента: -sT — указывает, что нужно показать все TCP-соединения; -sU — указывает, что нужно показать все UDP-соединения; -sV — указывает, что требуется включить обнаружение версий программного обеспечения. $ sudo nmap -sT -sU -sV 159.89.108.187Дополнительные опции утилиты nmap C помощью опции -p Вы сможете просканировать конкретные порты. все порты с 1 по 65535 — -p-; конкретный порт (например, 22) — -p22; диапазон портов — -p1-22; комбинацию списка UDP-портов и диапазона TCP-портов — p U:53,111,137,T:21-25. С помощью опции -n (запрет обратного просмотра DNS) можно сократить время сканирования, которое бывает довольно продолжительным Учимся использовать утилиту lsof Утилита lsof (от англ. LiSt of Open Files) — это инструмент командной строки для UNIX-подобных операционных систем, предназначенный для обнаружения файлов, использующихся теми или иными процессами. Выводим на экран все открытые IP-сокеты С помощью данной утилиты можно вывести на экран все открытые соединения и инициировавшие их процессы в операционной системе. Для этого введите от имени суперпользователя в командную строку команду lsof с опцией -i: $ sudo lsof -iВыводим список процессов, прослушивающих конкретный порт с помощью lsof Зная конкретный порт — можно легко найти программу, которая его прослушивает. Для этого введите от имени суперпользователя в командную строку команду lsof с опцией -i и добавьте к ней в качестве аргумента номер порта после двоеточия

