Table of Contents
netstat — инструмент для мониторинга сетевых соединений, портов, маршрутов, сокетов и статистики сети.
Хотя часть функционала перенесена в ss, netstat всё ещё активно используется администраторами для диагностики.
📝 Топ‑15 полезных флагов netstat#
-t— показать только TCP-соединения.-u— показать только UDP-соединения.-l— показать только слушающие порты.-a— показать все соединения (включая слушающие).-p— показать PID и имя процесса, владеющего сокетом.-n— не разрешать DNS, выводить только IP-адреса.-r— показать таблицу маршрутизации.-i— показать статистику по сетевым интерфейсам.-s— детализированная статистика по протоколам.-c— непрерывное обновление данных.-W— широкий вывод (не обрезает имена хостов).-g— показать группы multicast.-e— расширенный вывод для сокетов.-4— показать только IPv4-соединения.-6— показать только IPv6-соединения.
🚀 Айсберг команд netstat — от базового к гуру#
🟢 Уровень 1 — База (разогрев)#
netstat
- Показать активные соединения
netstat -tuln
- Показать все слушающие TCP/UDP порты без DNS
netstat -an
- Показать все соединения с IP-адресами и портами
netstat -tp
- Показать соединения + PID + процесс
netstat -s
- Статистика по всем протоколам
🟡 Уровень 2 — Диагностика портов и соединений#
netstat -tlpn
- Все TCP-порты с PID и именем процесса
netstat -ulnp
- Все UDP-порты с PID
netstat -plnt | grep 8080
- Узнать, какой процесс слушает порт 8080
netstat -an | grep ESTABLISHED
- Найти активные установленные соединения
netstat -an | grep TIME_WAIT
- Найти «висячие» соединения
🟠 Уровень 3 — Работа с маршрутизацией#
netstat -r
- Таблица маршрутов (аналог
route -n)
netstat -rn
- Таблица маршрутов без DNS
netstat -g
- Информация о multicast-группах
netstat -ie
- Подробная статистика интерфейсов
netstat -M
- Показывает информацию о masquerading NAT
🔵 Уровень 4 — Мониторинг и обновление в реальном времени#
netstat -c
- Обновление информации каждую секунду
watch -n 1 "netstat -ant | grep ESTABLISHED"
- Следить за активными TCP-соединениями
netstat -an | grep SYN_SENT
- Проверить зависшие попытки соединения
netstat -an | grep FIN_WAIT
- Найти соединения в процессе завершения
netstat -an | grep CLOSE_WAIT
- Анализ застрявших соединений
🟣 Уровень 5 — Сетевые проблемы и отладка#
netstat -s | grep retrans
- Проверить количество ретрансмиссий TCP
netstat -s | grep -i drop
- Проверить количество сброшенных пакетов
netstat -i
- Подробная информация по интерфейсам
netstat -e
- Расширенный вывод для сокетов
netstat -g
- Проверка групп multicast
🔴 Уровень 6 — Сочетания с другими инструментами#
sudo netstat -tulpn | grep LISTEN
- Быстрый способ найти все слушающие порты
sudo netstat -plant | grep 22
- Проверить, что слушает SSH
netstat -ap | grep nginx
- Проверить все соединения nginx
lsof -i :3306
- Альтернатива для поиска процессов по порту
ss -tulwn
- Современный аналог
netstat -tuln
🟤 Уровень 7 — Гуру‑режим#
netstat -ntp | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
- Вывести топ IP-адресов по количеству соединений
watch -n 1 "netstat -s | grep retrans"
- Мониторинг числа TCP-ретрансмиссий в реальном времени
netstat -nputw | grep 443
- Проверка HTTPS соединений с процессами
netstat -tuwx
- Отображение UNIX-сокетов вместе с TCP/UDP
netstat -ap --tcp | grep CLOSE_WAIT
- Проверить висячие соединения TCP
🧩 Бонус — практические сценарии#
Найти процесс, который держит порт:
sudo netstat -tulpn | grep 8080
Показать все слушающие порты:
sudo netstat -tulnp
Мониторинг активных подключений:
watch -n 1 "netstat -ant | grep ESTABLISHED"
Совместное использование с lsof:
sudo lsof -i -P -n | grep LISTEN
Современный аналог через ss:
ss -tulwn