Утилита ss. Современная альтернатива netstat для анализа сетевых соединений
ss (socket statistics) — это современная утилита для отображения информации о сетевых соединениях в Linux. Она пришла на смену netstat, который считается устаревшим и больше не устанавливается по умолчанию в большинстве новых дистрибутивов.
Утилита ss быстрее, легче и даёт более подробную информацию о TCP, UDP, Unix-сокетах и других типах соединений.
Установка
В большинстве систем утилита уже установлена вместе с пакетом iproute2. Проверить:
ss --versionЕсли не установлена:
Debian/Ubuntu:
sudo apt install iproute2CentOS/Fedora/RHEL:
sudo dnf install iprouteОсновные команды
Показать все TCP-соединения:
ss -tВсе UDP-соединения:
ss -uВсе слушающие порты (TCP/UDP):
ss -lntu-l— только слушающие сокеты-n— без DNS-резолвинга (только IP и порты)-t,-u— TCP и UDP соответственно
Показать процессы, использующие сокеты:
sudo ss -tunlp-p— отображать PID и имя процесса
Пример вывода:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users(("sshd",pid=712,fd=3))
Соединения по определённому порту:
ss -tuna '( dport = :443 )'Все флаги:
| Опция | Описание |
|---|---|
-t | Показать TCP-сокеты |
-u | Показать UDP-сокеты |
-l | Показать только слушающие сокеты |
-a | Показать все сокеты (включая неактивные) |
-e | Показать подробную информацию (включая пользователей) |
-i | Показать внутреннюю информацию |
-n | Показывать IP-адреса и порты в числовом виде |
-r | Показать таблицу маршрутизации |
-s | Показать сводную статистику |
-4 | Показать только IPv4-сокеты |
-6 | Показать только IPv6-сокеты |
-o | Показать таймеры TCP-соединений |
-p | Показать информацию о процессах |
-P | Показать статистику по процессам |
--timewait | Показать соединения в состоянии TIME-WAIT |
--listening | Показать слушающие сокеты |
--all | Показать все сокеты |
--numeric | Показывать IP и порты в виде чисел |
--extended | Показать расширенную информацию по сокетам |
--resolve | Разрешать IP-адреса в имена хостов |
--processes | Показать информацию о процессах |
--processes-raw | Показать информацию о процессах в сыром виде |
--summary | Показать сводную статистику |
Примеры для диагностики
Все активные подключения к серверу по TCP:
ss -at state establishedКто слушает порт 80?
sudo ss -ltnp sport = :80Все соединения от конкретного IP:
ss -antu src 192.168.1.100Почему стоит использовать ss вместо netstat
| Параметр | ss | netstat |
|---|---|---|
| Скорость | Очень высокая | Медленнее |
| Поддержка | Современные ядра Linux | Устаревает |
| Установка по умолчанию | Да (iproute2) | Нет |
| Возможности | Более широкие | Ограниченные |
Заключение
ss — мощный инструмент диагностики сетевых соединений, который пришёл на смену netstat. Он уже включён в современные дистрибутивы, работает быстрее и предоставляет более точную и подробную информацию. Если вы занимаетесь отладкой сетевых сервисов или мониторингом безопасности — ss должен быть у вас в арсенале.
Настроить мониторинг за 30 секунд
Надежные оповещения о даунтаймах. Без ложных срабатываний