Содержание мануала
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, чтобы он мог быть получен процессом немедленно.
- <rmem_alloc>
- -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) контекст инициирующего процесса отображается следующим образом:
- Если действителен pid, показать контекст процесса.
- Если адресатом является ядро (pid = 0), показать начальный контекст ядра.
- Если уникальный идентификатор был выделен ядром или пользователем 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>.