An-Introduction-to-the-ss-Command

Введение в команду ss

Сети Linux

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

Команда ss — это инструмент, используемый для статистики дампа сокетов, она отображает информацию аналогичным образом (хотя и проще и быстрее) как netstat. Команда ss также может отображать еще больше информации о TCP и состоянии системы, чем большинство других инструментов. Поскольку ss — это новый netstat, мы рассмотрим, как использовать этот инструмент, чтобы вы могли более легко получить информацию о своей машине Linux и о том, что происходит с сетевыми подключениями.

Утилита командной строки ss может отображать статистику для пакетов PACKET, TCP, UDP, DCCP, RAW и Unix. Замена netstat проще в использовании (сравните страницы руководства, чтобы получить первое представление о том, насколько проще ss). С помощью ss вы получаете очень подробную информацию о том, как ваша машина Linux взаимодействует с другими машинами, сетями и службами. Так же вы получаете сведения о сетевых подключениях, статистике сетевых протоколов и соединениях сокетов Linux. Имея эту информацию, вы можете гораздо легче устранить различные проблемы с сетью.

Давайте скорее перейдем к ss, чтобы вы могли рассмотреть его как новый инструмент в своем наборе для администратора.

 

Основные функции

Команда ss работает как любая команда на платформе Linux: введите исполняемую команду и при необходимости добавляйте доступные для неё опций. Если вы заглянете на страницу ss man (введите команду man ss), вы заметите, что для команды netstat почти нет дополнительных параметров, однако это не соответствует отсутствию функциональности.

Если вы вводите команду ss без каких-либо аргументов или параметров, она вернет полный список сокетов TCP с установленными соединениями.

A-complete-listing-of-all-established-TCP-connections.

Поскольку команда ss (без параметров) будет отображать значительный объем информации (все сведения о подключении сокета tcp, udp и unix), вы также можете отправить этот вывод команды в файл для последующего просмотра следующим образом:

ss > ss_output

 

Конечно, очень простая команда — не все, что необходимо для решения каждой задачи. Что делать, если мы хотим видеть только существующие сокеты? Простой подход к задаче, это использовать опцию -l:

ss -l

 

Вышеприведенная команда выводит только список текущих сокетов для прослушивания.

Чтобы стало понятнее, ss можно использовать:

  • для просмотра TCP-соединений с использованием опций -t.
  • для просмотра UDP-соединений с использованием опций -u.
  • для просмотра UNIX-соединений с помощью опции -x.

Запуск любой из этих команд будет содержать много полезной информации для вас:

Running-ss--u-on-Elementary-OS-offers-a-quick-display-of-UDP-connections.

 

По умолчанию, при использовании опций -t, -u или -x, будут выведены только те соединения, которые установлены (или подключены). Если мы хотим вывести подключения которые прослушиваются, мы должны добавить параметр -a, например:

ss -t -a

 

Вывод указанной команды будет включать все сокеты TCP:

Notice-the-last-socket-is-ssh-listening-on-the-device.

 

В приведенном выше примере вы можете увидеть, что соединения UDP (в разных состояниях) происходят с IP-адреса моего компьютера. В отличие от версии netstat этой команды, ss не отображает PID и имя команды, ответственные за эти соединения. Тем не менее, у вас все еще есть много информации, чтобы начать поиск и устранение неисправностей если какой-либо из этих портов или URL-адресов вызывает сомнения.

 

Фильтрация ss с состояниями TCP

Один очень удобный вариант, доступный для команды ss — это возможность фильтрации с использованием состояний TCP («этап жизни» соединения). Инструмент ss можно использовать в сочетании со всеми стандартными состояниями TCP:

  • established
  • syn-sent
  • syn-recv
  • fin-wait-1
  • fin-wait-2
  • time-wait
  • closed
  • close-wait
  • last-ack
  • listening
  • closing

 

Другие доступные идентификаторы состояний ss:

  • all (все вышеперечисленные состояния)
  • connected (все состояния, за исключением прослушивания и закрытия)
  • synchronized (все подключенные состояния, за исключением syn-recv)
  • bucket (состояния, которые поддерживаются как мини-разъемы, например, time-wait и syn-recv)
  • big (противоположность bucket)

 

Синтаксис работы с состояниями прост:

For tcp ipv4:
ss -4 state FILTER
For tcp ipv6:

ss -6 state FILTER

 

Где FILTER — это название состояния, которое вы хотите использовать.

Предположим, вы хотите просмотреть все прослушивающие сокеты IPv4 на вашем компьютере. Для этого используйте команду:

ss -4 state listening

 

Результаты выполнения этой команды будут выглядеть так, как показано ниже:

Using-ss-with-a-listening-state-filter.

 

Показать подключенные сокеты с определенного адреса

Одной из задач, которые вы можете выполнить с ss, является передача отчетов, сделанных другим IP-адресом. Скажем, вы хотите узнать, подключен ли к вашему серверу аппарат по IP-адресу 192.168.1.139. Для этого вы можете выполнить команду:

ss dst 192.168.1.139

 

Полученная информация сообщит вам Netid, состояние, локального IP-порта и удаленного IP-порта сокета.

A-remote-machine-has-established-an-ssh-connection-to-our-local-machine.

 

Итоги

Команда ss может сделать много для того, чтобы помочь вам устранить проблемы с вашим сервером Linux или вашей сетью. Рекомендуем вам потратить время на чтение страницы ss 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, подайте заявку или получите бесплатную консультацию.
Сети Linux

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

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

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

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

Most Viewed Posts
18-Tar-Command-Examples-in-Linux

18 примеров команды tar в Linux

2,683
4 комментария
Linux «tar» — архив, который используется большим количеством системных администраторов Linux/Unix для работы с накопителями для резервного копированиея. Команды tar…
Меню