Команда ss
(аббревиатура от Socket Statistics) в Linux предназначена для анализа и отображения информации о сетевых соединениях. Она позволяет просматривать текущие соединения, прослушиваемые порты и сокеты. Команда ss
работает быстрее и эффективнее, чем устаревшая netstat
, так как взаимодействует напрямую с ядром. В современных системах именно ss
стала стандартным инструментом для диагностики сетей.
Синтаксисss [OPTIONS] [FILTER]
Основные возможности
- Просмотр активных TCP/UDP-соединений.
- Проверка прослушиваемых портов.
- Фильтрация по порту, протоколу или состоянию соединения.
- Вывод дополнительной информации (PID, имя процесса, дескриптор файла).
- Поддержка Unix-сокетов.
- Мониторинг RAW-соединений (низкоуровневых).
- Получение статистики по состояниям соединений и протоколам.
Основные ключи
Ключ | Описание |
---|---|
-t | Только TCP-соединения |
-u | Только UDP-соединения |
-x | Unix-сокеты |
-w | RAW-сокеты (низкоуровневые) |
-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 | Информация об используемой памяти сокета |
Фильтрация по протоколам
Ключ | Протокол |
---|---|
-4 | IPv4 |
-6 | IPv6 |
-t | TCP |
-u | UDP |
-x | Unix-сокеты |
-w | RAW-сокеты |
Пример: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 )'