Ответ
Существует два основных сценария: проверка, слушает ли порт локальный процесс, и проверка доступности порта на удалённом хосте.
1. Проверка локальных слушающих портов
Эти команды показывают, какие процессы на вашей машине "слушают" порты в ожидании соединений.
-
ss(рекомендуется): Современная и быстрая утилита.# Проверить TCP и UDP порты ss -tuln | grep :<порт>-t: TCP порты-u: UDP порты-l: Только слушающие сокеты (LISTEN)-n: Отображать числовые адреса и порты
-
lsof: Показывает, какой процесс использует порт.# Найти процесс по номеру порта sudo lsof -i :<порт> -
netstat(устаревший): Аналогss.netstat -tuln | grep :<порт>
2. Проверка доступности порта на удалённом хосте
Эти утилиты пытаются установить соединение с портом, чтобы проверить его доступность извне (с учётом файрволов).
-
nc(netcat): Мощный сетевой инструмент.# -z: сканировать порты, не отправляя данные # -v: подробный вывод nc -zv <хост_или_IP> <порт> -
telnet: Простая утилита для проверки TCP-соединения.telnet <хост_или_IP> <порт>Если экран станет черным, соединение успешно. Если нет — порт закрыт или заблокирован.
Вывод:
- Для быстрой проверки локальных портов используйте
ss -tuln. - Для проверки доступности удаленного порта лучше всего подходит
nc -zv.