Ответ
Для проверки открытых (слушающих) портов на сервере используются следующие команды и инструменты:
Основные команды в Linux:
ss(рекомендуется, современнееnetstat):# Показать все слушающие TCP и UDP порты с именами процессов sudo ss -tulnpnetstat(устаревший, но широко используемый):sudo netstat -tulnp
Ключи команд:
-t/-u— TCP / UDP порты.-l— только слушающие (LISTEN) сокеты.-n— показывать числовые адреса и порты (не резолвить имена).-p— показать PID и имя процесса, владеющего сокетом (требуетsudo).
Пример вывода ss -tulnp:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1234,fd=6))
Это показывает, что процесс nginx (PID 1234) слушает на всех интерфейсах (0.0.0.0) на порту 80.
Дополнительные инструменты:
lsof: Универсальная утилита для списка открытых файлов (включая сетевые сокеты).sudo lsof -i -P -n | grep LISTENnmap: Для проверки с другого хоста (внешняя перспектива).nmap -sT -p 1-1000 <IP-адрес_сервера>
В контексте DevOps: Эта проверка — первый шаг при диагностике проблем с сетевым доступом к сервису (например, почему балансировщик не может достучаться до бэкенда).