Команда ss с примерами: отображение информации о сети/сокете TCP/UDP в Linux

Команда ss с примерами: отображение информации о сети/сокете TCP/UDP в Linux

Команда ss используется для отображения статистики сокетов. Она может отображать статистику для сокетов: PACKET, TCP, UDP, DCCP, RAW, сокетов Unix и т.д. Также она позволяет отображать информацию, аналогичную команде netstat. Команда ss может отображать наибольшее количество информации о TCP по сравнению с другими инструментами. Это новый, невероятно полезный и быстрый (по сравнению с netstat) инструмент для отслеживания TCP-соединений и сокетов. SS может предоставить информацию о:

  • Всех сокетах TCP.
  • Всех сокетах UDP.
  • Всех установленных соединениях ssh/ftp/http/https.
  • Всех локальных процессах, подключенных к X-серверу.
  • Всех сокетах tcp в состоянии FIN-WAIT-1
  • Может выполнять фильтрацию по состоянию подключенных и синхронизированных, SYN-RECV, SYN-SENT, TIME-WAIT адресов и портов.

Некоторые дистрибутивы Linux считали команду nestat устаревшей и поэтому должны быть поэтапно отменить её в пользу более современных решений, таких как команда ss. Сейчас большинство дистрибутивов Linux поставляется уже с предустановленным ss. Знакомство с этим инструментом помогает улучшить понимание того, что происходит в системных сокетах, и позволяет найти возможные причины проблемы производительности.

 

Как отобразить сводки с помощью команды ss?

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

 

 

Пример вывода:

 

ss

 

Как отобразить все открытые сетевые порты с помощью команды ss в Linux?

 

 

Пример вывода:

 

ss

 

Введите следующую команду, чтобы просмотреть имя процесса с использованием открытого сокета:
bash][# ss -pl[/bash]

 

 

Узнайте, кто отвечает за открытие сокета на port 4949:

 

 

Пример вывода:

 

munin-node (PID # 3772) отвечает за открытие порта 4949. Вы можете получить дополнительную информацию об этом процессе (например, о памяти, пользователях, текущей рабочей директории и т. д.), посетив каталог /proc/3772:

 

 

Показать все TCP-сокеты

 

 

Показать все UDP-сокеты

 

 

Показать все RAW сокеты

 

 

Показать все UNIX-сокеты

 

 

Примеры вывода:

 

Показать все установленные соединения SMTP

 

Показать все установленные HTTP-соединения

 

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

 

 

Вывести список всех сокетов TCP в состоянии FIN-WAIT-1

Выведите все сокеты TCP в состоянии -FIN-WAIT-1 для нашего httpd в сети 202.54.1/24 и посмотрите на их таймеры:

 

 

Как фильтровать сокеты с использованием состояний TCP?

Синтаксис выглядит следующим образом:

 

Где FILTER-NAME-HERE может быть любым из приведенных ниже:

  1. established
  2. syn-sent
  3. syn-recv
  4. fin-wait-1
  5. fin-wait-2
  6. time-wait
  7. closed
  8. close-wait
  9. last-ack
  10. listen
  11. closing
  12. all : все вышеперечисленные состояния
  13. connected : все состояния, за исключением прослушивания и закрытия
  14. synchronized : все подключенные состояния, за исключением syn-sent
  15. bucket : gоказывать состояния, которые поддерживаются как мини-сокеты, т.е. время ожидания и syn-recv.
  16. big : Противоположно состоянию bucket.

 

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

Введите следующую команду, чтобы увидеть закрывающие сокеты:

 

 

Как сопоставить ip удаленных адресов и портов?

Используйте следующий синтаксис:

 

Узнайте о подключении удаленного клиента с  123.1.2.100:http к нашим локальным виртуальным серверам:

 

 

Примеры вывода:

 

Как мне сравнить локальный адрес и номера портов?

 

Как сравнить локальный и/или удаленный порт с номером?

Используйте следующий синтаксис:

 

Где OP может быть одним из следующих:

  1. <= или le : меньше или равно порту
  2. >= или ge : больше или равно порту
  3. == или eq : равно порту
  4. != или ne : не равно порту
  5. < или gt : меньше, чем порт
  6. > или lt : больше, чем порт

Примечание: le, gt, eq, ne и т.д. также используются в оболочке unix.

Пример:

 

 

Флаги для команды ss:

-h, –help                           это сообщение
-V, –version                      вывод информации о версии
-n, –numeric                     запрет имён служб
-r, –resolve                       разрешения имён хостов
-a, –all                              отображение всех сокетов
-l, –listening                     показать сокеты для прослушивания
-o, –options                     показывает информацию таймера
-e, –extend                      показать подробную информацию о сокетах
-m, –memory                   показать использование памяти сокета
-p, –processes                  показать процесс с помощью сокета
-i, –info                             показать внутреннюю информацию TCP
-s, -summary                     показать итоги использования сокета

-4, –ipv4                           отображает только сокеты IP версии 4
-6, -ipv6                            отображает только сокеты IP версии 6
-0, –packet display           пакетные сокеты
-t, –tcp                             отображать только TCP-сокеты
-u, –udp                           отображать только UDP-сокеты
-d, –dccp                          отображать только сокеты DCCP
-w, -raw                             отображать только RAW-сокеты
-x, –unix                           отображать только сокеты Unix домена
-f, –family=FAMILY          отображать сокеты типа FAMILY

-A, –query = QUERY, –socket = QUERY
QUERY: = {all | inet | tcp | udp | raw | unix | packet | netlink} [, QUERY]

-D, –diag = FILE               дамп исходной информации о сокетах TCP для FILE
-F, –filter = FILE               считывать информацию о фильтрах из FILE
FILTER: = [state TCP-STATE] [EXPRESSION]

 

Сравнение скорости работы команды ss с netstat

Используйте команду time для запуска обеих программ и сравните выводы по использованию ресурсов системы. Введите команду netstat следующим образом:

 

 

Пример вывода:

 

Теперь попробуйте выполнить команду ss:

 

 

Пример вывода:

 

Примечание. Оба вывода берутся с ускоренного прокси-сервера, работающего на RHEL v6.x amd64. Для получения дополнительной информации см. страницу ss command man:

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

1 комментарий. Оставить новый

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

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

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

Поиск по сайту
Лучшее
Популярное
Рубрики