Ss linux ����� �������� ������

Содержание
  1. Утилита ss в Linux (мониторинг сети в Linux)
  2. Как использовать команду ss в Linux
  3. Команда ss против netstat
  4. Используя сс
  5. Список сетевых подключений
  6. Список прослушивающих сокетов
  7. Список всех сокетов
  8. Перечисление TCP-сокетов
  9. Перечисление UDP-сокетов
  10. Перечисление Unix-сокетов
  11. Перечисление сырых сокетов
  12. Перечисление IP версии 4 сокетов
  13. Перечисление IP версии 5 сокетов
  14. Список сокетов по состоянию
  15. Список сокетов по протоколу
  16. Вывод списка соединений на определенный IP-адрес
  17. Идентификация процессов
  18. Достойный преемник
  19. Примеры команды Linux «ss»
  20. Базовый синтаксис команды «ss» и ее справочное руководство
  21. Примеры команды «ss» в Linux
  22. Пример 1. Отображение всех подключений.
  23. Пример 2: Отображение всех портов
  24. Пример 3: Отображение только прослушивающих сокетов.
  25. Пример 4: Отображение всех UDP-соединений.
  26. Пример 5: Отображение всех прослушиваемых UDP-соединений.
  27. Пример 6: Отображение всех TCP-соединений.
  28. Пример 7: Отображение всех прослушивающих TCP-соединений
  29. Пример 8: Отображение
  30. Пример 9: Отображение процессов с использованием сокетов.
  31. Пример 10: Отображение подключений, соответствующих определенному Интернет-протоколу.
  32. Заключение

Утилита 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 можно передать одно из следующих значений:

Читайте также:  Saitek st290 pro драйвер windows 10

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 и порту

Также можете использовать такие операторы сравнения:

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

Источник

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

ss Команда является современной заменой классическому netstat , Вы можете использовать его в Linux для получения статистики о ваших сетевых подключениях. Вот как работать с этим удобным инструментом.

Команда ss против netstat

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

ss отображает статистику для Протокол управления передачей (ПТС), Протокол пользовательских датаграмм (UDP), Unix (межпроцессный)и необработанные розетки. Сырые розетки работать на сетевой уровень OSIЭто означает, что заголовки TCP и UDP должны обрабатываться прикладным программным обеспечением, а не транспортным уровнем. Протокол управляющих сообщений Интернета (ICMP) сообщения и пинг Утилиты оба используют необработанные сокеты.

Используя сс

Вам не нужно устанавливать ss , так как он уже является частью современного дистрибутива Linux. Его вывод, однако, может быть очень длинным — у нас были результаты, содержащие более 630 строк. Результаты также очень широки.

Из-за этого мы включили текстовые представления результатов, которые мы получили, так как они не помещались бы на скриншоте. Мы обрезали их, чтобы сделать их более управляемыми.

Список сетевых подключений

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

Чтобы увидеть это, введите следующее:

  • NETIDТип сокета В нашем примере мы имеем «u_str», поток Unix, «udp» и «icmp6», сокет ICMP IP версии 6. Вы можете найти больше описаний Типы сокетов Linux в справочных страницах Linux.
  • государство: Состояние, в котором находится сокет.
  • Recv-Q: Количество полученных пакетов.
  • Send-Q: Количество отправленных пакетов.
  • Локальный адрес: портЛокальный адрес и порт (или эквивалентные значения для сокетов Unix).
  • Адрес пера: Порт: Удаленный адрес и порт (или эквивалентные значения для сокетов Unix).

Для UDP-сокетов столбец «Состояние» обычно пуст. Для TCP-сокетов это может быть одно из следующего:

  • СЛУШАТЬ: Только на стороне сервера. Сокет ожидает запроса на подключение.
  • SYN-SENT: Только на стороне клиента. Этот сокет отправил запрос на подключение и ожидает, будет ли он принят.
  • SYN-RECEIVED: Только на стороне сервера. Этот сокет ожидает подтверждения подключения после принятия запроса на подключение.
  • УСТАНОВИЛ: Сервер и клиенты. Между сервером и клиентом установлено рабочее соединение, позволяющее передавать данные между ними.
  • FIN-WAIT-1: Сервер и клиенты. Этот сокет ожидает запроса на завершение соединения от удаленного сокета или подтверждения запроса на прекращение соединения, который был ранее отправлен из этого сокета.
  • FIN-WAIT-2: Сервер и клиенты. Этот сокет ожидает запроса на завершение соединения от удаленного сокета.
  • CLOSE-WAIT: Сервер и клиент. Этот сокет ожидает запроса на прекращение соединения от локального пользователя.
  • ЗАКРЫТИЕ: Сервер и клиенты. Этот сокет ожидает подтверждения запроса на завершение соединения от удаленного сокета.
  • LAST-ACK: Сервер и клиент. Этот сокет ожидает подтверждения запроса на завершение соединения, отправленного на удаленный сокет.
  • ВРЕМЯ ЖДЕТ: Сервер и клиенты. Этот сокет отправил подтверждение удаленному сокету, чтобы он знал, что получил запрос завершения удаленного сокета. Теперь он ждет, чтобы убедиться, что подтверждение было получено.
  • ЗАКРЫТО: Нет соединения, поэтому сокет был прерван.
Читайте также:  Install linux desktop on android

Список прослушивающих сокетов

Чтобы увидеть сокеты прослушивания, мы добавим -l (прослушивание) вариант, вот так:

Эти розетки все не связаны и слушают. «Rtnl» означает маршрутизацию netlink, которая используется для передачи информации между процессами ядра и пространства пользователя.

Список всех сокетов

Чтобы перечислить все сокеты, вы можете использовать -a (все) опция:

Вывод содержит все сокеты, независимо от состояния.

Перечисление TCP-сокетов

Вы также можете применить фильтр, чтобы отображались только соответствующие гнезда. Мы будем использовать -t (TCP), поэтому будут перечислены только сокеты TCP:

Перечисление UDP-сокетов

-u Параметр (UDP) выполняет тот же тип действия фильтрации. На этот раз мы увидим только UDP-сокеты:

Перечисление Unix-сокетов

Чтобы увидеть только сокеты Unix, вы можете включить -x (Unix) опция, как показано ниже:

Перечисление сырых сокетов

Фильтр для необработанных розеток -w (сырой) вариант:

Перечисление IP версии 4 сокетов

Сокеты с использованием протокола TCP / IP версии 4 могут быть перечислены с помощью -4 (IPV4) опция:

Перечисление IP версии 5 сокетов

Вы можете включить соответствующий фильтр IP версии 6 с помощью -6 (IPV6), например, так:

Список сокетов по состоянию

Вы можете перечислить сокеты по состоянию, в котором они находятся с state вариант. Это работает с установленным, прослушивающим или закрытым состояниями. Мы также будем использовать опцию разрешения ( -r ), который пытается разрешить сетевые адреса для имен и порты для протоколов.

Следующая команда будет искать установленные соединения TCP, и ss постараюсь разрешить имена:

Перечислены четыре соединения, которые находятся в установленном состоянии. Имя хоста, ubuntu20-04, было разрешено, и вместо 22 для SSH-соединения во второй строке отображается «ssh».

Мы можем повторить это, чтобы найти сокеты в состоянии прослушивания:

Список сокетов по протоколу

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

Мы вводим следующее, чтобы перечислить сокеты, используя протокол HTTPS на established соединение (запишите пробел после открывающей скобки и перед закрывающей):

Мы можем использовать имя протокола или порт, обычно связанный с этим протоколом. Порт по умолчанию для Безопасная оболочка (SSH) — порт 22.

Мы будем использовать имя протокола в одной команде, а затем повторим его, используя номер порта:

Как и ожидалось, мы получаем те же результаты.

Вывод списка соединений на определенный IP-адрес

С dst (пункт назначения), мы можем перечислить подключения к определенному IP-адресу назначения.

Мы вводим следующее:

Идентификация процессов

Чтобы увидеть, какие процессы используют сокеты, вы можете использовать опцию процессов ( -p ), как показано ниже (обратите внимание, вы должны использовать sudo ):

Это показывает нам, что два установленных соединения в сокетах TCP используются демоном SSH и Firefox.

Читайте также:  Ummy downloader windows 10

Достойный преемник

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

Источник

Примеры команды Linux «ss»

«Ss» — это встроенная команда Linux, используемая для отображения подробной информации о сетевых сокетах. Вы можете использовать различные параметры этой команды для отображения нужной вам информации. Мы кратко поговорим о некоторых примерах использования команды «ss» в Linux в сегодняшнем руководстве.

Базовый синтаксис команды «ss» и ее справочное руководство

Базовый синтаксис обсуждаемой команды показан ниже:

Существуют различные доступные параметры, которые можно использовать с командой «ss». Вы можете проверить эти параметры, открыв «справку» по «ss» с помощью следующей команды:

Вы можете увидеть справочное руководство по команде «ss» на изображении, показанном ниже:

Примеры команды «ss» в Linux

Примеры команды «ss» в Linux обсуждаются ниже:

Пример 1. Отображение всех подключений.

Если вы хотите вывести список всех подключений вашей системы Linux, вы можете запустить команду «ss» без каких-либо параметров следующим образом:

Все подключения нашей системы Linux показаны на изображении ниже:

Пример 2: Отображение всех портов

Вы можете отобразить все порты независимо от того, прослушивают они или нет, используя следующий вариант команды «ss» в Linux:

Все порты нашей системы Linux показаны ниже:

Пример 3: Отображение только прослушивающих сокетов.

Если вы хотите отобразить только прослушивающие сокеты на терминале, вы можете использовать команду «ss» следующим образом:

Слушающие сокеты нашей системы Linux показаны ниже:

Пример 4: Отображение всех UDP-соединений.

Мы знаем, что у нас есть UDP-соединения или TCP-соединения. Если вы хотите вывести список всех UDP-соединений, вы должны использовать команду «ss» следующим образом:

Все UDP-соединения нашей системы Linux следующие:

Пример 5: Отображение всех прослушиваемых UDP-соединений.

Если вы хотите вывести список только тех UDP-соединений, которые в данный момент прослушиваются, вы можете использовать следующую версию команды «ss»:

Все прослушивающие UDP-соединения нашей системы Linux показаны ниже:

Пример 6: Отображение всех TCP-соединений.

Точно так же вы можете перечислить все TCP-соединения следующим образом:

Все TCP-соединения нашей системы Linux показаны ниже:

Пример 7: Отображение всех прослушивающих TCP-соединений

Прослушивающие TCP-соединения системы Linux можно отобразить с помощью следующей команды:

Результаты выполнения этой команды следующие:

Пример 8: Отображение

Сводки всех подключений Вы можете даже перечислить сводную статистику всех подключений вашей системы, используя команду «ss» следующим образом:

Сводная статистика всех подключений нашей системы Linux показана ниже:

Пример 9: Отображение процессов с использованием сокетов.

Если вы хотите отобразить процессы, соответствующие всем разъемам подключения, вы можете выполнить команду «ss» следующим образом:

Результат этого варианта команды «ss» выглядит следующим образом:

Пример 10: Отображение подключений, соответствующих определенному Интернет-протоколу.

Вы даже можете выбрать отображение всех подключений IPv4 или IPv6. Для отображения только соединений IPv4 вы можете выполнить команду «ss» следующим образом:

Если вы хотите отобразить все соединения IPv6, вы можете заменить «-4» на «-6». Результат этого варианта команды «ss» показан ниже:

Заключение

В этой статье мы рассмотрели почти все примеры использования команды «ss» в Linux. Однако вы можете дополнительно изучить использование этой команды, просмотрев ее Справочное руководство.

Источник

Оцените статью