Введение
Команда ss — это мощная утилита в Linux, позволяющая отслеживать и отображать информацию о сетевых сокетах. В отличие от netstat, ss предоставляет более подробную информацию, работает быстрее и эффективнее. Это делает его важным инструментом для системных администраторов и сетевых инженеров.
В этой статье мы обсудим основы команды ss, ее синтаксис и некоторые из ее основных функций. Мы также рассмотрим несколько расширенных примеров использования команды ss, чтобы помочь вам начать работу с этим мощным инструментом.
Список всех сетевых подключений
Чтобы вывести список всех сетевых подключений, используйте следующий синтаксис:
ss -a
Эта команда выведет список всех сетевых подключений, включая те, которые находятся в состоянии LISTEN, ESTABLISHED и других. Вывод этой команды будет включать IP-адреса источника и получателя, порты источника и получателя, протокол (TCP, UDP и т. д.), состояние соединения и другую информацию.
Список соединений TCP
Чтобы перечислить только соединения TCP, используйте следующий синтаксис:
ss -t
Эта команда выведет список всех TCP-подключений, включая те, которые находятся в состоянии LISTEN, ESTABLISHED и других. Вывод этой команды будет включать IP-адреса источника и получателя, порты источника и получателя, протокол (TCP), состояние соединения и другую информацию.
Список UDP-соединений
Чтобы перечислить только соединения UDP, используйте следующий синтаксис:
ss -u
Эта команда отобразит список всех соединений UDP. Вывод этой команды будет включать IP-адреса источника и получателя, порты источника и получателя, протокол (UDP), состояние соединения и другую информацию.
Фильтровать соединения по порту
Вы можете фильтровать сетевые подключения по порту, используя следующий синтаксис:
ss -t dst:port
Эта команда выведет список всех TCP-соединений с портом назначения, равным указанному порту. Например, чтобы вывести список всех TCP-соединений с портом назначения 80, используйте следующую команду:
ss -t dst:80
Фильтровать соединения по IP-адресу
Вы можете фильтровать сетевые подключения на основе IP-адреса, используя следующий синтаксис:
ss dst IP_ADDRESS
Эта команда выведет список всех подключений с IP-адресом назначения, равным указанному IP-адресу. Например, чтобы вывести список всех подключений с IP-адресом назначения 192.168.1.100, используйте следующую команду:
ss dst 192.168.1.100
Просмотр статистики по конкретному соединению
Вы можете просмотреть статистику для определенного соединения, используя следующий синтаксис:
ss -i state IP_ADDRESS:port
Эта команда отобразит подробную информацию об указанном соединении, включая состояние соединения, количество отправленных и полученных пакетов и байтов, а также другую информацию. Например, чтобы просмотреть статистику TCP-подключения с IP-адресом назначения 192.168.1.100 и портом назначения 80, используйте следующую команду:
ss -i state 192.168.1.100:80
Список портов прослушивания
Чтобы вывести список прослушиваемых портов, используйте следующий синтаксис:
ss -l
Эта команда отобразит список всех прослушиваемых портов, включая IP-адрес и номер порта для каждого прослушиваемого сокета. Вывод этой команды также будет включать информацию о процессе.
Просмотр всех установленных TCP-соединений
Следующая команда отобразит все TCP-соединения, установленные в системе:
ss -t state established
Следующая команда отобразит все TCP-соединения, установленные в системе:
ss -t state established
Посмотреть все сокеты для прослушивания
Если вы хотите увидеть все прослушиваемые сокеты, вы можете использовать следующую команду:
ss -l
Просмотр сетевой статистики для определенного протокола
Вы можете просмотреть сетевую статистику для определенного протокола с помощью следующей команды:
ss -s protocol
Замените протокол на нужный протокол (например, tcp, udp и т. д.).
Просмотр информации для определенного порта
Вы можете просмотреть информацию для определенного порта, используя следующую команду:
ss -t state port
Замените порт на желаемый номер порта.
Просмотр информации для определенного удаленного IP-адреса
Если вы хотите просмотреть информацию для определенного удаленного IP-адреса, вы можете использовать следующую команду:
ss -o src IP_ADDRESS
Замените IP_ADDRESS на желаемый IP-адрес.
Просмотр информации для конкретной работы
Вы можете просмотреть информацию для определенного процесса, используя следующую команду:
ss -p | grep PID
Замените PID на идентификатор нужного процесса.
Просмотр информации о метках времени
Вы можете просмотреть информацию о метке времени сокета, используя следующую команду:
ss -o time
Просмотр информации для определенного буфера сокета
Вы можете просмотреть информацию для определенного буфера сокета, используя следующую команду:
ss -o buffer SOCKET_BUFFER
Замените SOCKET_BUFFER на желаемый буфер сокета.
Просмотр информации для определенного интерфейса
Вы можете просмотреть информацию для определенного интерфейса, используя следующую команду:
ss -i interface
Замените интерфейс на нужный сетевой интерфейс.
Просмотр информации для конкретного пользователя
Вы можете просмотреть информацию для конкретного пользователя с помощью следующей команды:
ss -u user
Замените пользователя на желаемое имя пользователя.
Заключение
Команда ss — бесценный инструмент для мониторинга и анализа сетевых сокетов в Linux. Независимо от того, являетесь ли вы системным администратором, сетевым инженером или просто энтузиастом Linux, хорошее понимание ss может помочь вам диагностировать сетевые проблемы, повысить производительность сети и оптимизировать вашу систему.
В заключение отметим, что команда ss является важным инструментом для всех, кто работает в сетевой среде. Используя его расширенные функции и параметры, вы можете получить более глубокое представление о своей сети и принимать обоснованные решения для повышения ее производительности. Итак, обязательно ознакомьтесь с этим мощным инструментом и используйте его в своем следующем проекте Linux.