Как проверить открытые порты в Linux — ss, netstat, lsof и nmap | SecureFlow

Как проверить открытые порты в Linux — ss, netstat, lsof и 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

Совет: регулярно проверяйте открытые порты и закрывайте те, которые не используются. Это улучшит безопасность вашего сервера.