Какие ключи используются в команде netstat и для чего?

«Какие ключи используются в команде netstat и для чего?» — вопрос из категории Сети, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

netstat — классический инструмент для анализа сетевых соединений и статистики. В современных дистрибутивах часто рекомендуется использовать ss из пакета iproute2, но netstat всё еще широко распространен.

Основные ключи и их назначение:

Ключ Назначение
-t Показать TCP соединения.
-u Показать UDP соединения.
-l Показать только сокеты, слушающие (LISTEN) входящие соединения.
-n Выводить адреса и порты в числовом формате (без разрешения имен хостов и служб). Ускоряет вывод.
-p Показать PID и имя процесса, владеющего сокетом. Требует прав root.
-a Показать все сокеты (и слушающие, и установленные соединения).
-s Вывести статистику по протоколам (пакеты отправлено/получено, ошибки).
-r Показать таблицу маршрутизации (аналог route или ip route).

Практический пример: Быстрая проверка, какие процессы слушают на каких портах (самая частая задача при диагностике).

sudo netstat -tulnp
# Расшифровка: -t (TCP), -u (UDP), -l (listen), -n (numeric), -p (process)

Современная альтернатива (ss):

ss -tulnp  # Аналогичный вывод, но обычно работает быстрее