Команда SS в Linux с полезными примерами

Команда ss — это терминальная команда, используемая для отображения информации о сетевом сокете в LinuxSS расшифровывается как статистика сокетов. Это инструмент аналогичный netstat, который отображает немного больше информации, такой как  информация о состоянии TCP.

Инструмент ss поставляется в комплекте с пакетом iproute2. Он может отображать статистику для сокетов домена PACKETTCPUDPDCCPRAW и Unix.

В этой статье мы расскажем про команду ss в Linux и покажем полезные примеры.

https://t.me/linuxkalii

1. Отображение сетевого подключения командой SS

Команда ss без каких-либо параметров отобразит все открытые сокеты (например, TCP/UNIX/UDP), которые установили соединение.

$ ss

Отображение сетевого подключения командой SS
Отображение сетевого подключения командой SS
  1. Netid: отображает типы сокетов.
  2. State: отображает состояние сокета, если он установлен (ESTAB), Не подключен (UNCONN) или прослушивается (LISTEN).
  3. Recv-Q: этот столбец отображает количество принятых пакетов в очереди.
  4. Send-Q: данная колонка отображает количество отправленных пакетов в очереди.
  5. Local address:port: показывает адрес локальной машины и порт.
  6. Peer address:port: отображает адрес удаленной машины и порт.

Вы можете получить более подробную информацию, используя команду ss в сочетании с различными опциями. Вы также можете выбрать несколько вариантов одновременно.

Синтаксис команды ss:

$ ss [Option]
$ ss [Option1] [Option2] [Option3]

2. Список прослушивающих сокетов

Для отображения списка прослушиваемых сокетов используйте опцию -l или --listen.

$ ss -l

Список прослушивающих сокетов
Список прослушивающих сокетов

3. Отображение всех сокетов

Вы можете отобразить все прослушивающие и не прослушивающие сетевые подключения, используя опцию -a или-all.

$ ss -a

Отображение всех сокетов
Отображение всех сокетов

4. Просмотр TCP-соединений командой SS

Чтобы отобразить соединение TCP-сокета, используйте опцию -tили--tcp.

$ ss -t

Просмотр TCP-соединений командой SS
Просмотр TCP-соединений командой SS

Чтобы отобразить список всех TCP-соединений, вы можете использовать параметры -a и -t одновременно. Это включает в себя состояние всех сокетов.

$ ss -at

Чтобы отобразить TCP — соединение для всех состояний, объедините параметры -l и -t.

$ ss -alt

5. Показ UDP-соединений

Чтобы показать подключение к сокету UDP, используйте опцию -u  или--udp.

$ ss -u

Показ UDP-соединений
Показ UDP-соединений

Чтобы отобразить список всех UDP подключений, используйте параметры-a и -u. Это включит в себя состояния сокета.

$ ss -au

Вы можете объединить -lи -u эта связка параметров отобразит UDP-соединение, всех состояний прослушивания сокета.

$ ss -lu

6. Отображение списка сокетов Unix

Чтобы отобразить все сокеты Unix, вы можете использовать команду ss вместе с -f unix или -x.

$ ss -f unix

Отображение списка сокетов Unix
Отображение списка сокетов Unix

7. Показ необработанных сокетов

Чтобы отобразить все необработанные сокеты, вы можете использовать опцию -w или --raw.

$ ss -w

Показ необработанных сокетов
Показ необработанных сокетов

8. Показать подключенные IP-адреса

Мы можем использовать команду ss для отображения списка соединений определенного IP-адреса назначения или источника.

Например, чтобы указать подключение IP-адреса:

$ ss dst 13.227.138.30

Показать подключенные IP-адреса
Показать подключенные IP-адреса

Например, чтобы указать подключение исходного IP-адреса:

$ ss src 192.168.18.151

указать подключение исходного IP-адреса
указать подключение исходного IP-адреса

9. Отобразить подключения к сокетам IPv4 и IPv6

Если вы хотите отобразить список подключений сокетов IPv4, используйте опции -4 и -6 для отображения списка подключений сокетов.

Для отображения списка подключений к сокету IPv4 введите:

$ ss -4

Отобразить подключения к сокетам IPv4
Отобразить подключения к сокетам IPv4

Для отображения списка подключений к сокетам IPv6 используйте команду:

$ ss -6

Отобразить подключения к сокетам IPv6
Отобразить подключения к сокетам IPv6

Чтобы посмотреть все TCP-соединения IPv4, вы можете использовать следующий пример.

$ ss -at4

Просмотр всех TCP-соединений IPv4
Просмотр всех TCP-соединений IPv4

10. Определите процессы

Вы можете найти процессы сокетов, используя опцию -p вместе с командой ss. Чтобы идентифицировать процесс, вам потребуется пользователь с sudo.

$ sudo ss -t -p

Поиск процессов сокета
Поиск процессов сокета

11. Показать соединение без разрешения имени хоста

Для разрешения числового адреса/портов используйте параметр -r (resolve). В то время как параметр -n — не разрешает имена служб.

В этом примере, вы можете увидеть разницу между этими двумя:

$ ss -tn
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
ESTAB 0 0 74.208.235.196:22 48.192.234.17:60216

$ ss -tr
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
ESTAB 0 64 li82-186.members.linode.com:ssh n47-172-231-17.sun4.vic.optusnet.com.au:60317
$

12. Фильтр по соединению

Давайте рассмотрим несколько примеров того, как применять фильтры для вывода конкретной информации.

Чтобы отфильтровать TCP-соединение с прослушиванием состояния, введите:

$ ss -t state listening

Для отображения установленных подключений к ssh— портам используйте эут команду:

$ ss -tr state established '( dport = :22 or sport = :22 )'

Вы также можете использовать традиционный способ команды grep для фильтрации. Здесь я показываю все TCP-соединения, которые прослушиваются:

$ ss -at | grep LISTEN

Параметры команды ss

Команда ss предоставляет различные опции для управления выводом, которые будут отображаться в соответствии с вашими требованиями. Вы можете использовать -h или —help вместе с командой ss, чтобы просмотреть основные параметры, доступные с помощью утилиты ss.

$ ss -h

Справка по команде SS
Справка по команде SS

Сравнение команд ss и netstat

Инструмент ss включен в пакет iproute2 и используется по умолчанию в большинстве дистрибутивов Linux. Чтобы получить netstat, вам необходимо установить net-tools, который уже устарел. Команда ss выполняется намного быстрее, так как она работает непосредственно из ядра. SS не является полной заменой netstat, часть команды netstat заменена командой ip.

Возможно вам будет интересно: Поиск файлов в Linux с помощью командной строки

Заключение

В этой статье мы рассказали о команде ss и показали некоторые полезные примеры. Вы можете ознакомиться со справочной страницей команды ss для получения дополнительной информации.

https://t.me/linuxkalii

источник

Ответить