Команда ss

Команда ss (аббревиатура от Socket Statistics) в Linux предназначена для анализа и отображения информации о сетевых соединениях. Она позволяет просматривать текущие соединения, прослушиваемые порты и сокеты. Команда ss работает быстрее и эффективнее, чем устаревшая netstat, так как взаимодействует напрямую с ядром. В современных системах именно ss стала стандартным инструментом для диагностики сетей.

Синтаксис
ss [OPTIONS] [FILTER]

Основные возможности

  • Просмотр активных TCP/UDP-соединений.
  • Проверка прослушиваемых портов.
  • Фильтрация по порту, протоколу или состоянию соединения.
  • Вывод дополнительной информации (PID, имя процесса, дескриптор файла).
  • Поддержка Unix-сокетов.
  • Мониторинг RAW-соединений (низкоуровневых).
  • Получение статистики по состояниям соединений и протоколам.

Основные ключи

КлючОписание
-tТолько TCP-соединения
-u Только UDP-соединения
-xUnix-сокеты
-wRAW-сокеты (низкоуровневые)
-aВсе сокеты (активные + прослушиваемые)
-lТолько слушающие сокеты (LISTEN)
-pИнформация о процессах (имя, PID, дескриптор)
-nБез DNS-резолвинга: IP-адреса и порты в числовом виде
-rОбратное преобразование IP-адресов в доменные имена
-sСтатистика по сокетам

Поля вывода

  • State — состояние сокета.
  • Recv-Q — количество полученных, но ещё не обработанных данных.
  • Send-Q — количество данных, ожидающих отправки.
  • Local Address:Port — локальный IP-адрес и порт.
  • Peer Address:Port — удалённый адрес и порт (часто *:*, если не подключено).
  • Process — процесс, управляющий соединением.

Фильтрация вывода

  • state <state> — фильтрация по состоянию (например, ESTABLISHED, LISTEN, CLOSE-WAIT, и т.д.)
  • src <address> — фильтр по IP-адресу источника.
  • dst <address> — фильтр по адресу назначения.
  • sport <port> — фильтр по исходному порту.
  • dport <port> — фильтр по порту назначения.

Пример:
ss -t state ESTABLISHED

Параметры отображения дополнительной информации

КлючОписание
-s Общая статистика по сокетам
-eРасширенная информация (байты, таймеры, и т.д.)
-iСетевые интерфейсы, связанные с сокетами
-mИнформация об используемой памяти сокета

Фильтрация по протоколам

КлючПротокол
-4IPv4
-6IPv6
-tTCP
-uUDP
-xUnix-сокеты
-wRAW-сокеты

Пример:
ss -t -4
— покажет только TCP-соединения по протоколу IPv4.

Также можно комбинировать фильтры:
ss -t state ESTABLISHED '( sport = :443 or dport = :443 )'

Команда выведет все активные TCP-соединения в состоянии ESTABLISHED, где:

  • клиент подключается к вашему серверу через порт 443;
  • или ваш сервер использует порт 443 как порт назначения.

Примеры использования

Просмотр всех активных TCP-соединений:
ss -t -a

Вывод прослушиваемых портов с указанием процессов:
ss -tulnp

Фильтрация TCP-соединений, находящихся в состоянии ESTABLISHED:
ss -t state ESTABLISHED

Просмотр всех Unix-сокетов:
ss -x

Получение сетевой статистики:
ss -s

Фильтрация по IP и порту:
ss -t state ESTABLISHED '( src 192.168.1.10 and dport = :22 )'

Прокрутить вверх