Утилита ss в Linux (мониторинг сети в Linux)

Автор Itworkroom

Утилита ss в Linux (мониторинг сети в Linux)

Утилита ss в Linux пришла за место системной утилиты netstat. Главное отличие netstat от ss это принцип работы. Если системная утилита netstat для работы сканировала всю директорию /proc для получения необходимой информации, то утилита ss построена на базе отдельной подсистемы.

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

$ ss опции [фильтр_состояния] [фильтр_адреса]

Опции утилиты ss
Для анализа сетевых подключений в Linux с помощью утилиты ss можно использовать следующие опции:

-V — Version показать версию утилиты
-n — Numeric не определять имена служб
-r — Resolve определять сетевые имена адресов с помощью dns
-a — All отобразить все сокеты (открытые соединения)
-l — Listening показать только прослушиваемые сокеты
-o — Options показать информацию таймера
-e — Extended выводить расширенную информацию о сокете
-p — Processes, показать процессы, использующие сокет
-i — Internal, посмотреть внутреннюю информацию TCP
-s — Summary, статистика использования сокета
-D — экспортировать текущее состояние TCP сокетов в файл
-F — работать с информацией, взятой из файла

Можно выводить сокеты только нужного нам протокола:

-4, —ipv4 — только сокеты протокола IP версии 4
-6 —ipv6 — только сокеты протокола IP версии 6
-0, —packet — только PACKET сокеты
-t, —tcp — TCP сокеты
-u, —udp — UDP сокеты
-d, —dhcp — DHCP сокеты
-r, —raw — RAW сокеты
-x, —unix — UNIX сокеты

Также для фильтрации протоколов можно использовать универсальную опцию -f, передав в параметре название протокола.

Примеры использования:
$ ss — запуск команды без ключей выведет все сетевые подключения
$ ss -t — посмотреть только соединения по протоколу tcp
$ ss -x — вывести только unix протоколы
$ ss -ua — выведет все соединения по протоколу udp
$ ss -tr — будет пытаться разрешить имена хостов через днс
$ ss -tn — выведет только прослушиваемые tcp соединения
$ ss -ltp — выведет PID процесса, использующего сокет

Статистика использования:
$ ss -s — выведет статистику по использованию сети
$ ss -tl -f inet4 — выведет статистику только пол ipv4
$ ss -t4 state established — покажет только установленные соединения
$ ss -t4 state time-wait — сокеты в состоянии ожидания
выведет статистику по использованию сети
В параметр state можно передать одно из следующих значений:

established
syn-sent
syn-recv
time-wait
closed
close-wait
last-ack
fin-wait-1
fin-wait-2
closing
all — указать все состояния
connected — все кроме прослушиваемых и закрытых
synchronized — все кроме syn-sent
bucket — time-wait и syn-recv
big — все кроме bucket

$ ss -at ‘( dport = :ssh or sport = :ssh )’ — фильтрация по адресу и номеру порта
$ ss -nt ‘( dst :443 or dst :80 )’ — выведет сокеты с портом назначения 80 или 443
$ ss -nt dst 8.8.8.8 — фильтрация по ip
$ ss -nt dst 8.8.8.8:53 — фильтрация по ip и порту
фильтрация по ip
Также можете использовать такие операторы сравнения:

<= или le — меньше или ровно порту >= или ge — больше или ровно порту
== или eq — точное соответствие
!= или ne — не равно
< или gt — меньше > или lt — больше

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

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