Поиск по сайту:

Учебник по командам Linux ss для начинающих (8 примеров)


На этой странице

  1. Команда Linux ss
  2. Q1. Как использовать команду ss?
  3. Вопрос 2. Как заставить ss подавлять строку заголовка?
  4. Вопрос 3. Как заставить ss отображать как прослушивающие, так и не прослушивающие сокеты?
  5. Q4. Как заставить ss показывать процессы с помощью сокетов?
  6. В5. Как заставить ss выдавать сводную информацию?
  7. Q6. Как заставить ss отображать только сокеты IPv4 или IPv6?
  8. Q7. Как заставить ss отображать только сокеты TCP или UDP?
  9. Заключение

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

Называется сс. В этом уроке мы обсудим основы этого инструмента, используя несколько простых для понимания примеров. Но прежде чем мы это сделаем, стоит упомянуть, что все случаи здесь были протестированы на компьютере с Ubuntu 18.04 LTS.

команда линукс сс

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

ss [options] [ FILTER ]

И вот что об этом говорит справочная страница инструментов:

ss is used to dump socket statistics. It allows showing information similar to netstat.  
It can display more TCP and state information than other tools.

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

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

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

ss

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

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

Q2. Как заставить ss подавлять строку заголовка?

Подавление заголовков можно выполнить с помощью параметра командной строки -H.

ss -H

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

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

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

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

ss -a

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

ss -l

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

Если вы хотите, чтобы команда 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
              Display TCP sockets.

       -u, --udp
              Display UDP sockets.

       -d, --dccp
              Display DCCP sockets.

       -w, --raw
              Display RAW sockets.

       -x, --unix
              Display Unix domain sockets (alias for -f unix).

       -S, --sctp
              Display SCTP sockets.

       --vsock
              Display vsock sockets (alias for -f vsock).

Заключение

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