2.5.7.4 Отображение информации о сетевых сокетах с помощью ss
Использование утилиты ss
Вывод информации по IP-адресу
Вывод информации по состоянию сокета
Вывод информации по имени сервиса или номеру порта
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Рабочая станция
- Версия ПО: iproute2-6.1.0
ss — консольная утилита, которая предоставляет информацию о сетевых сокетах, подключениях TCP/UDP, маршрутизации и других сетевых статистических данных.
ss отображает информацию аналогично утилите netstat и при этом выводит больше информации о сетевых соединениях и их состоянии, чем какие-либо другие инструменты.
Информация о сокете выводится в виде таблицы. Каждый столбец отображает определенную информацию, относящуюся к сокету.
Описание выводимой информации в столбцах:
-
Netid— отображает тип сокета; -
State— отображает состояние сокета. Может принимать следующие значения: сокет установлен — ESTAB, сокет не подключен — UNCONN, сокет прослушивается — LISTEN. -
Recv-Q— отображает количество принятых пакетов в очереди; -
Send-Q— отображает количество отправленных пакетов в очереди; -
Local address:port— показывает адрес локальной машины и порт; -
Peer address:port— отображает адрес удаленной машины и порт.
Использование утилиты ss
Синтаксис утилиты ss выглядит следующим образом:
ss <опции>
Утилита ss может принимать несколько опций:
ss <опция_1> <опция_2> <опция_3> …
Основные опции утилиты ss:
-
-V, --version— показать версию утилиты; -
-n, --numeric— не определять имена служб; -
-r, --resolve— определять сетевые имена адресов с помощью DNS; -
-a, --all— отобразить все сокеты (открытые соединения); -
-l, --listening— показать только прослушиваемые сокеты; -
-o, --options— показать информацию таймера; -
-e, --extended— выводить расширенную информацию о сокете; -
-p, --processes— показать процессы, использующие сокет; -
-i, --info— посмотреть внутреннюю информацию TCP; -
-s, --summary— статистика использования сокета; -
-D, --diag=<файл>— экспортировать текущее состояние TCP-сокетов в файл; -
-F, --filter=<файл>— работать с информацией, взятой из файла.
Можно выводить информацию о сокете, который использует только необходимый протокол, используя следующие опции:
-
-4, --ipv4— только сокеты протокола IPv4; -
-6, --ipv6— только сокеты протокола IPv6; -
-0, --packet— только PACKET-сокеты; -
-t, --tcp— TCP-сокеты; -
-u, --udp— UDP-сокеты; -
-x, --unix— UNIX-сокеты.
Для отображения всех TCP-соединений выполните команду:
ss -ta
Для отображения всех UDP-соединений выполните команду:
ss -ua
Для вывода информации о подключенных TCP- и UDP-сокетах, а также информации о процессах, которые используют сокеты — имя процесса и его PID, выполните:
ss -tupn
Для отображения открытых TCP- и UDP-сокетов, которые ожидают соединение, выполните команду, добавив опцию -l:
ss -tupnl
Вывод информации по IP-адресу
Утилита поддерживает фильтрацию информации об установленных подключениях по адресу назначения и по адресу получения.
Для фильтрации информации по адресу назначения выполните:
ss dst xx.xx.xx.xx
Для фильтрации информации по адресу получения выполните:
ss src xx.xx.xx.xx
где xx.xx.xx.xx — IP-адрес, по которому необходимо отфильтровать информацию.
Вывод информации по состоянию сокета
Можно отфильтровать информацию по состоянию сокета. Для этого используется дополнительный ключ state.
Состояния, которые может принимать сокет:
-
established;
-
listening;
-
syn-sent;
-
syn-recv;
-
time-wait;
-
closed;
-
close-wait;
-
last-ack;
-
fin-wait-1;
-
fin-wait-2;
-
closing.
Кроме того, ss распознаёт следующие идентификаторы состояний:
-
all — все состояния;
-
connected — все состояния, кроме прослушиваемых и закрытых;
-
synchronized — все состояния, кроме syn-sent;
-
bucket — состояния, представляющие собой минисокеты, например, time-wait или syn-recv;
-
big — все состояния, кроме bucket.
Для отображения всех открытых TCP-портов выполните команду:
ss -t state listening
Для отображения всех успешных соединений по IPv4 выполните:
ss -4 state established
Вывод информации по имени сервиса или номеру порта
Для фильтрации информации по номеру порта или его имени утилите необходимо передать соответствующие опции:
- для порта получения:
ss <опции> sport = :<порт>
- для порта назначения:
ss <опции> dport = :<порт>
где <порт> — номер порта или имя сервиса.
Для фильтрации TCP-соединения с выводом информации об использовании только порта получателя 22 выполните:
ss -ta '( sport = :22 )'
Для фильтрации TCP-соединения с выводом информации об использовании сервиса HTTPS в адресе назначения выполните:
ss -ta '( dport = :https )'
Дата последнего изменения: 09.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.