Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Команда ss для начинающих

Оригинал: Linux ss Command Tutorial for Beginners (8 Examples)
Автор: Himanshu Arora
Дата публикации: 27 июня 2019 года
Перевод: А. Кривошей
Дата перевода: июль 2019 г.

Когда дело доходит до доступа к информации, связанной с сокетами, в командной строке Linux, первым инструментом, который приходит на ум, является netstat. Однако есть другая утилита, которая может сделать эту работу.

Она называется ss. В этом руководстве мы обсудим основы использования этой утилиты, используя несколько простых для понимания примеров. Все приведенные здесь примеры были протестированы на машине с Ubuntu 18.04 LTS.

Команда ss

Команда ss в Linux позволяет вам исследовать сокеты. Ниже приводится ее синтаксис:

ss [options] [ FILTER ]

И вот что говорится на странице руководства этой утилиты:

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

Ниже приведены примеры в стиле вопросов и ответов, которые должны дать вам лучшее представление о том, как работает команда ss.

Q1. Как использовать команду SS?

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

ss

Ниже приведен вывод команды, созданной в моем случае:

вывод команды ss

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

Q2. Как заставить ss не выводить строку заголовка?

Это можно сделать с помощью параметра командной строки -H.

ss -H

На следующем снимке экрана показан этот параметр командной строки в действии:

вывод команды ss -H

Вы можете видеть, что строка заголовка в этом случае отсутствует.

Q3. Как заставить ss отображать как слушающие, так и не слушающие сокеты?

Это можно сделать с помощью параметра командной строки -a.

ss -a

Обратите внимание, что слушающие сокеты по умолчанию опущены, поэтому использование -a заставляет ss включать их в вывод. Однако если вы хотите, чтобы ss отображал только слушающие сокеты, используйте параметр командной строки -l.

ss -l

Q4. Как заставить ss показывать процессы с помощью сокетов?

Если вы хотите, чтобы команда ss показывала информацию о процессе вместе с другой информацией, которую она уже генерирует в выходных данных, используйте параметр командной строки -p.

ss -p

Следующий скриншот показывает вывод в моем случае:

вывод команды ss -p

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

Q5. Как заставить ss выводить сводную информацию?

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

Это резюме можно получить с помощью параметра командной строки -s:

ss -s

Например, ниже приводится краткое резюме в моем случае:

Total: 1334 (kernel 0)
TCP:   41 (estab 35, closed 3, orphaned 0, synrecv 0, timewait 3/0), ports 0

Transport Total     IP        IPv6
*      0         -         -        
RAW      1         0         1        
UDP      7         5         2        
TCP      38        37        1        
INET      46        42        4        
FRAG      0         0         0

Q6. Как заставить ss отображать только сокеты IPv4 или IPv6?

Это можно сделать с помощью параметров -4 и -6.

Например, чтобы ss отображала только сокеты IPv4, выполните следующую команду:

ss -4

Аналогично для IPv6 выполните следующую команду:

ss -6

Q7. Как заставить ss отображать только сокеты TCP или UDP?

Здесь вы можете использовать различные параметры командной строки: -t для TCP и -u для UDP.

Ниже приводится полезная выдержка из справочной страницы команды ss.

     -t, --tcp
              Показывает сокеты TCP.

-u, --udp
              Показывает сокеты UDP.

-d, --dccp
              Показывает сокеты DCCP.

-w, --raw
              Показывает сокеты RAW.

-x, --unix
              Показывает сокеты Unix domain (алиас для -f unix).

-S, --sctp
              Показывает сокеты SCTP.

--vsock
              Показывает сокеты vsock (алиас для -f vsock).

Заключение

Команда ss - очень полезный инструмент, если ваша работа в Linux связана с сетью. Здесь мы обсудили только некоторые опции командной строки ss. Для получения более подробной информации перейдите на справочную страницу утилиты.


Статьи о сокетах в Linux на нашем сайте: