В этой статье рассматривается использование команды ss с некоторыми простыми примерами. Все команды, показанные в этой статье, были выполнены на Ubuntu 20.04 раздача для проверки статистики сокетов и сетевых подключений.
Пример 1: Список сетевых подключений с помощью команды ss
Вы можете легко перечислить все сетевые соединения, присутствующие в системе, включая TCP, UDP и соединения сокетов UNIX, используя следующую команду ss. Вывод отображается в формате «меньше», так что вы можете прокручивать окно вывода:
$ ss | меньше
Пример 2: Список подключений сокетов TCP, UDP и Unix
Вы также можете отфильтровать соединения сокетов TCP, UDP и UNIX, используя следующие параметры:
Использование только опции «t» отображает подключения, которые являются «Подключены» или «Установлены».'Этот параметр сам по себе не показывает подключения сокетов TCP, которые' прослушивают.'
$ ss -t
Для TCP используйте параметр -t вместе с тегом -A.
$ ss -A tcp
Для соединений UDP используйте следующую команду:
$ ss -ua$ ss -a -A UDP
Опция 'a' отображает как 'Connected', так и 'Listening' сокеты. UDP - это протокол без установления соединения, поэтому использование только ss -u ничего не отобразит. Тем не менее, 'a' может использоваться для отображения всех UDP-соединений.
Для соединений через сокеты Unix используйте следующую команду:
$ ss x
Пример 3: отображение более быстрого вывода
Параметр «n», используемый с «t», предотвращает преобразование IP-адресов в имена хостов в статистике сокетов и отображает более быстрый вывод, как показано ниже:
$ ss -nt
Пример 4: Отображение только прослушивающих сокетов
Вы также можете отображать только те соединения TCP-сокета, которые прослушивают. Параметр «n» игнорирует разрешение имен хостов IP-адреса для более быстрого отображения вывода.
$ ss -ltn
Для всех прослушивающих соединений UDP замените параметр 't' параметром 'u' следующим образом:
$ ss -lun
Пример 5: Отображение имени процесса с pid
Вы можете отобразить имя процесса вместе с pid каждого процесса, используя следующую команду ss с параметром '-ltp':
$ sudo ss -ltp
Пример 6: Отображение статистики
Использование опции 's' с командой ss отображает полную статистику, как показано ниже:
$ ss -s
Пример 7: Отображение сведений о таймере подключения
Используя параметр '-o' с командой ss, вы можете отображать информацию о времени каждого соединения. Сведения о времени информируют пользователя, как долго поддерживается это соединение:
$ ss -tn -o
Пример 8: Распечатать соединение сокета IPV6 или IPV4
Чтобы распечатать только соединения сокета IPv4, используйте опцию '-4' с '-f inet' следующим образом:
$ ss -tl4$ ss -tl -f inet
Для IPV6 используйте параметр -6 или -f inet.'
$ ss -tl6
Пример 9: Фильтрация TCP-соединений по состоянию
Вы также можете фильтровать соединения по состоянию соединения с помощью команды ss. Соединения могут существовать в различных состояниях, таких как установлено, syn-recv, syn-sent, fin-wait-1, fin-wait-2, time-wait, close-wait, closed, all, last-ack, close, connected. , bucket, synchronized и bucket.
Итак, в соответствии с требованиями пользователя, вы можете использовать и фильтровать любое состояние подключения, выполнив следующую команду:
$ ss [OPTIONS] состояние [State-name]Состояние $ ss -t4 установлено
В приведенном выше примере мы отфильтровали все «установленные» сокетные соединения TCP.
$ ss -t4 состояние время ожидания$ ss -t4 состояние подключено
Пример 10: Фильтр адреса по номеру порта
Вы также можете фильтровать соединение по номеру порта или по указанному IP-адресу, как показано ниже:
$ ss -nt dst 127.0.0.1: 45807$ sudo ss -ntlp sport gt: 5000
Заключение
В этой статье были рассмотрены различные варианты использования команды ss. Как вы видели в этом руководстве, команда ss - лучшая альтернатива команде netstat. Используя приведенные выше примеры, вы можете легко контролировать системные сокеты и сетевые соединения.