SS – русский мануал к утилите для исследования сокетов

Содержание мануала

  1. ИМЯ
  2. СИНТАКСИС
  3. ОПИСАНИЕ
  4. ОПЦИИ
  5. ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ
  6. СМОТРИТЕ ТАКЖЕ
  7. АВТОР

SS(8) Руководство системного менеджера SS(8)

ИМЯ

ss – (socket statistics) еще одна полезнная утилита для исследования сокетов

СИНТАКСИС

ss [options] [ FILTER ]

ОПИСАНИЕ

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

ОПЦИИ

При отсутствии опции ss отображает список открытых не прослушивающих сокетов (например, TCP/UNIX/UDP), которые установили соединение.
Если параметр не используется, ss отображает список открытых не прослушивающих сокетов (например, TCP / UNIX / UDP), которые установили связь.

  • -h, –help
    Показать список опций.
  • -V, –version
    Вывод информации о версии
  • -H, –без заголовка
    Отключить строку заголовка.
  • -n, –numeric
    Не пытаться разрешить имена служб.
  • -r, –resolve
    Пытаться разрешить числовые адреса/порты.
  • -a, –all
    Отображать как прослушивающие, так и не прослушивающие (для TCP это означает установленные соединения) sock-… ets.
  • -l, –listening
    Отображать только прослушивающие сокеты (по умолчанию они опущены).
  • -o, –options
    Показать информацию о таймере. Для протокола tcp формат вывода следующий:

    timer:(<имя_таймера>,<истечение_времени>,<передача>)

    • <имя_таймера>
      имя таймера, существует пять видов имен таймеров:

      • on: означает один из этих таймеров: tcp retrans timer, tcp early retrans timer и tail таймер зонда потери
      • keepalive: tcp keep alive таймер
      • timewait: таймер стадии ожидания
      • persist: таймер зонда нулевого окна
      • unknown: ни один из вышеперечисленных таймеров
    • <expire_time>
      через какое время истечет срок действия таймера
    • <retrans>
      сколько раз произойдет ретрансляция
  • -e, –extended
    Показать подробную информацию о сокете. Формат вывода следующий:

    • uid: <uid_number> ino: <inode_number> sk: <cookie>
    • <uid_number>
      идентификатор пользователя, которому принадлежит сокет
    • <inode_number>
      номер инода сокета в VFS
    • <cookie>
      uuid сокета
  • -m, –memory
    Показать использование памяти сокета. Формат вывода следующий:
    skmem:(r<rmem_alloc>, rb<rcv_buf>, t<wmem_alloc>, tb<snd_buf>, f<fwd_alloc>, w<wmem_queued>, o<opt_mem>, bl<back_log>)

    • <rmem_alloc>
      память, выделенная для приема пакета
    • <rcv_buf>
      общая память, которая может быть выделена для приема пакета
    • <wmem_alloc>
      память, используемая для отправки пакета (который был отправлен на уровень 3)
    • <snd_buf>
      общая память, которая может быть выделена для отправки пакета
    • <fwd_alloc>
      память, выделенная сокетом в качестве кэша, но не используемая для приема/отправки пакета
      пока. Если потребуется память для отправки/приема пакета, память в этом кэше будет использована
      перед выделением дополнительной памяти.
    • <wmem_queued>
      Память, выделенная для отправки пакета (который еще не был отправлен на уровень 3).
    • <opt_mem>
      Память, используемая для хранения опций сокета, например, ключа для подписи TCP MD5.
    • <back_log>
      Память, используемая для очереди бэклога. В контексте процесса, если процесс принимает пакет, и если получен новый пакет, он будет помещен в очередь sk backlog, чтобы он мог быть получен процессом немедленно.
  • -p, –processes
    Показать процесс, использующий сокет.
  • -i, –info
    Показать внутреннюю информацию TCP. Могут появиться следующие поля:

    • ts показать строку “ts”, если установлена опция timestamp
    • sack показать строку “sack”, если установлена опция sack
    • ecn показать строку “ecn”, если установлена опция явного уведомления о перегрузке
    • ecnseen
      показать строку “ecnseen”, если в полученных пакетах обнаружен флаг saw ecn
    • fastopen
      показать строку “fastopen”, если установлена опция fastopen
    • cong_alg
      имя алгоритма перегрузки, алгоритм перегрузки по умолчанию – “cubic”.
    • wscale:<snd_wscale>:<rcv_wscale>
      если используется опция оконной шкалы, в этом поле отображается фабрика шкалы отправки и фабрика шкалы получения фабрика масштаба
    • rto:<icsk_rto>
      значение таймаута повторной передачи tcp, единица измерения – миллисекунда
    • backoff:<icsk_backoff>
      используется для экспоненциальной повторной передачи, фактическое значение таймаута повторной передачи
      icsk_rto << icsk_backoff
    • rtt:<rtt>/<rttvar>
      rtt – среднее время поездки туда и обратно, rttvar – среднее отклонение rtt, их единицы измерения миллисекунда
    • ato:<ato>
      таймаут ack, единица измерения – миллисекунда, используется для режима delay ack
    • mss:<mss>
      максимальный размер сегмента
    • cwnd:<cwnd>
      размер окна перегрузки
    • pmtu:<pmtu>
      значение MTU пути
    • ssthresh:<ssthresh>
      порог медленного запуска окна перегрузки tcp
    • bytes_acked:<bytes_acked>
      принятые байты
    • bytes_received:<bytes_received>
      полученные байты
    • segs_out:<segs_out>
      отправленные сегменты
    • segs_in:<segs_in>
      полученные сегменты
    • send <send_bps> бит/с
      исходящий бит/с
    • lastsnd:<lastsnd>
      сколько времени прошло с момента отправки последнего пакета, единица измерения – миллисекунда
    • lastrcv:<lastrcv>
      сколько времени прошло с момента получения последнего пакета, единица измерения – миллисекунда
    • lastack:<lastack>
      сколько времени прошло с момента получения последнего ack, единица измерения – миллисекунда
    • pacing_rate <pacing_rate>bps/<max_pacing_rate>bps
      скорость темпа и максимальная скорость темпа
    • rcv_space:<rcv_space>
      вспомогательная переменная для внутренней автоматической настройки буфера приема сокета TCP
  • -K, –kill
    Попытка принудительного закрытия сокетов. Эта опция отображает сокеты, которые успешно закрыты и молча пропускает сокеты, которые ядро не поддерживает закрытие. Поддерживает IPv4 и только сокеты IPv4 и IPv6.
  • -s, –summary
    Вывести сводную статистику. Эта опция не анализирует списки сокетов, получая сводку из различных источников. Это полезно, когда количество сокетов настолько велико, что разбор /proc/net/tcp является болезненным.
  • -Z, –context
    Как опция -p, но показывает контекст безопасности процесса.

    Для сокетов netlink(7) контекст инициирующего процесса отображается следующим образом:

    1. Если действителен pid, показать контекст процесса.
    2. Если адресатом является ядро (pid = 0), показать начальный контекст ядра.
    3. Если уникальный идентификатор был выделен ядром или пользователем netlink, покажите контекст как “недоступный”. текст как “недоступный”. Это обычно указывает на то, что процесс имеет несколько активен один сокет netlink.
  • -z, –contexts
    Аналогично опции -Z, но также показывает контекст сокета. Контекст сокета берется из связанного с ним инода и не является фактическим контекстом сокета, хранящимся в ядре. Сокеты обычно маркируются контекстом создающего процесса, однако показанный контекст будет отражать любую роль политики, тип и/или применяемые правила перехода диапазона, и поэтому является полезным ориентиром.
  • -N NSNAME, –net=NSNAME
    Переключение на указанное имя пространства имен сети.
  • -b, –bpf
    Показать фильтры BPF сокетов (только администраторам разрешено получать эту информацию).
  • -4, –ipv4
    Отображать только сокеты IP версии 4 (псевдоним для -f inet).
  • -6, –ipv6
    Отображать только сокеты IP версии 6 (псевдоним для -f inet6).
  • -0, –packet
    Отображать сокеты PACKET (псевдоним для -f link).
  • -t, –tcp
    Отображать TCP-сокеты.
  • -u, –udp
    Отображать UDP-сокеты.
  • -d, –dccp
    Отображать сокеты DCCP.
  • -w, –raw
    Отображать сокеты RAW.
  • -x, –unix
    Отображать сокеты домена Unix (псевдоним для -f unix).
  • -S, –sctp
    Отображать сокеты SCTP.
  • –vsock
    Отображать сокеты vsock (псевдоним для -f vsock).
  • -f FAMILY, –family=FAMILY
    Отображение сокетов типа FAMILY. В настоящее время поддерживаются следующие семейства: unix, inet, inet6, link, netlink, vsock.
  • -A QUERY, –query=QUERY, –socket=QUERY
    Список таблиц сокетов для дампа, разделенных запятыми. Понимаются следующие идентификаторы:
    all, inet, tcp, udp, raw, unix, packet, netlink, unix_dgram, unix_stream, unix_seqpacket, packet_raw, packet_dgram, dccp, sctp, vsock_stream, vsock_dgram.
  • -D FILE, –diag=FILE
    Ничего не отображает, просто сбрасывает необработанную информацию о TCP сокетах в FILE после применения фильтры. Если FILE равен -, то используется stdout.
  • -F FILE, –filter=FILE
    Считать информацию о фильтрах из файла FILE. Каждая строка FILE интерпретируется как один параметр командной строки опция. Если FILE равно -, то используется stdin.
  • FILTER := [ state STATE-FILTER ] [ EXPRESSION ]
    Пожалуйста, ознакомьтесь с официальной документацией для получения подробной информации о фильтрах.
  • STATE-FILTER

    • STATE-FILTER позволяет сконструировать произвольный набор состояний для поиска. Его синтаксис представляет собой последовательность ключевых слов state и exclude, за которыми следует идентификатор состояния.
    • Доступны следующие идентификаторы:

      • Все стандартные состояния TCP: established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed, close-wait, last-ack, listening и closing.
      • all – для всех состояний
      • connected – все состояния, кроме listening и closed
      • synchronized – все connected состояния, кроме syn-sent
      • bucket – состояния, которые поддерживаются как минисокеты, т.е. time-wait и syn-recv
      • big – противоположность bucket

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ

ss -t -a

Отобразить все TCP-сокеты.

ss -t -a -Z

Отобразить все TCP-сокеты с контекстами безопасности SELinux процесса.

ss -u -a

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

ss -o state established '( dport = :ssh или sport = :ssh )'.

Отображение всех установленных ssh-соединений.

ss -x src /tmp/.X11-unix/*

Найдите все локальные процессы, подключенные к X-серверу.

ss -o state fin-wait-1 '( sport = :http или sport = :https )' dst 193.233.7/24

Перечислите все tcp-сокеты в состоянии FIN-WAIT-1 для нашего apache к сети 193.233.7/24 и просмотрите на их таймеры.

СМОТРИТЕ ТАКЖЕ

ip(8),
RFC 793 – https://tools.ietf.org/rfc/rfc793.txt (состояния TCP)

АВТОР

ss был написан Алексеем Кузнецовым, <[email protected]>.

Эта страница руководства была написана Майклом Прокопом <[email protected]> для проекта Debian, переведена на русский язык для проекта <i-notes.org>.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Меню