Как проверить открытые порты в Linux — ss, netstat, lsof и nmap
Содержание
- Способ 1: ss — современный способ проверки портов
- Способ 2: netstat (устаревший, но всё ещё встречается)
- Способ 3: lsof — список открытых файлов и сокетов
- Способ 4: nmap — проверка портов снаружи
- Заключение
Когда вы администрируете сервер или просто заботитесь о его безопасности, важно уметь быстро проверить, какие порты открыты в системе. Это поможет выявить лишние службы, обнаружить потенциальные уязвимости и убедиться, что всё работает как нужно.
В этой статье разберём проверку открытых портов в Linux с помощью популярных утилит: ss, netstat, lsof и nmap.
Способ 1: ss — современный способ проверки портов
ss — это быстрая и удобная альтернатива устаревшему netstat. Установлена по умолчанию в большинстве современных дистрибутивов.
ss -tuln
Ключи:
-t— показать только TCP-u— показать только UDP-l— только слушающие (listening) порты-n— не пытаться разрешать имена (быстрее и удобнее)
Пример вывода:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 4096 *:22 *:*
Это значит, что порт 22 (SSH) открыт и слушает соединения.
Способ 2: netstat (устаревший, но всё ещё встречается)
Если вы используете старую систему или установили пакет net-tools, то можно использовать:
netstat -tuln
Вывод схож с ss. Однако netstat больше не развивается, поэтому предпочтительно использовать ss.
Способ 3: lsof — список открытых файлов и сокетов
Утилита lsof показывает все открытые файлы, включая сетевые соединения.
sudo lsof -i -P -n
Ключи:
-i— сетевые подключения-P— показывать номера портов, а не имена-n— не разрешать имена хостов (ускоряет вывод)
lsof полезен для анализа, так как показывает, какой процесс использует конкретный порт.
Способ 4: nmap — проверка портов снаружи
Если вы хотите проверить, какие порты доступны извне, а не только слушают внутри системы, используйте:
sudo nmap -sS -p- 127.0.0.1
Пояснение:
-sS— SYN-сканирование (быстрое и малозаметное)-p-— сканировать все порты от 1 до 65535
Важно: некоторые фаерволы могут засечь
nmapкак подозрительную активность. Используйте с осторожностью.
Заключение
Проверка открытых портов в Linux — одна из базовых задач системного администратора. Вот краткая таблица:
| Утилита | Назначение | Команда |
|---|---|---|
ss |
Быстрая локальная проверка | ss -tuln |
netstat |
Устаревший аналог ss |
netstat -tuln |
lsof |
Определение процессов, использующих порты | lsof -i -P -n |
nmap |
Внешний аудит и сканирование портов | nmap -sS -p- 127.0.0.1 |
Совет: регулярно проверяйте открытые порты и закрывайте те, которые не используются. Это улучшит безопасность вашего сервера.