Обзор ss
`ss` команда работает гораздо быстрее, чем `netstat`, поскольку получает информацию о сокетах напрямую через интерфейс `netlink` ядра, особенно на системах с большим количеством соединений. Она также предоставляет больше информации о состоянии TCP и подробную статистику сокетов, которые не доступны в `netstat`. Использование `ss` настоятельно рекомендуется при запросе сетевой информации на современных системах Linux.
Основные функции ss
`ss` команда в основном используется для следующих целей:
Основные области применения
- Проверка сетевых соединений и открытых портов: Отображает все активные TCP, UDP и UNIX сокеты системы.
- Сопоставление процессов и портов: Позволяет проверить, какой процесс использует определенный порт.
- Проверка таблицы маршрутизации: Отображает таблицу маршрутизации, определяющую путь, по которому передаются IP-пакеты.
- Статистика сетевых интерфейсов: Предоставляет статистику о передаче и получении пакетов для каждого сетевого интерфейса.
- Подробный анализ состояния сокетов: Глубоко анализирует детализированное состояние TCP-соединений (например, `ESTAB`, `LISTEN`, `TIME-WAIT` и т.д.) и статистику.
`ss` против `netstat`
`ss` является современным и мощным аналогом `netstat`.
- ss: Современный и быстрый, предоставляет прямой доступ к статистике сокетов ядра, полная поддержка IPv6, больше вариантов фильтрации.
- netstat: Устаревший инструмент, основанный на файловой системе `/proc`, может быть медленным при большом количестве соединений, неполная поддержка IPv6.
Основные параметры команды ss
`ss` команда позволяет комбинировать различные параметры для детальной фильтрации и отображения необходимой сетевой информации.
1. Фильтрация по типу сокета и состоянию
2. Формат вывода и подробная информация
3. Маршрутизация и другое
Сгенерированная команда:
Комбинируйте команды.
Описание:
`ss` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Изучите различные примеры использования команды `ss`, чтобы эффективно мониторить и анализировать сетевые соединения и состояние сокетов системы.
Проверка всех активных TCP соединений и слушающих портов
sudo ss -tulpn
Отображает все активные TCP-сокеты (включая слушающие) на текущей системе в числовом формате адресов и также показывает связанные имена программ и PID.
Проверка только всех слушающих TCP портов
sudo ss -tlpn
Отображает все TCP слушающие порты, которые ждут соединений, в числовом формате. Полезно для проверки, открыты ли сервисные порты веб-сервера, базы данных и др.
Проверка процессов, использующих определенный порт
sudo ss -tlpn | grep :22
Проверяет детальную информацию о всех TCP соединениях и слушающих портах, использующих порт `22` (SSH). (Полезно для диагностики SSH-сервера)
Проверка всех TCP соединений в состоянии ESTABLISHED
ss -t state established
Отображает все активные TCP соединения, которые в данный момент осуществляют передачу данных. Полезно для проверки, нормально ли работают внешние соединения.
Проверка количества сокетов в состоянии TIME-WAIT
ss -s | grep -i time-wait
Проверяет количество сокетов, оставшихся в состоянии `TIME-WAIT` после завершения TCP соединения. Если это число слишком велико, это может привести к исчерпанию ресурсов системы.
Проверка всех UDP сокетов
ss -ulpn
Проверяет все активные UDP сокеты и слушающие порты на текущей системе.
Проверка таблицы маршрутизации
ss -r
Отображает таблицу маршрутизации IP системы. Похоже на `ip route show`.