Введение / Зачем это нужно
Команда ss — это современный заменитель устаревшей утилиты netstat в Linux. Она позволяет быстро просматривать активные TCP/UDP соединения, слушающие порты и связанные с ними процессы. Зная несколько простых команд, вы сможете за 5–10 минут выявить неполадки в сети, обнаружить нежелательные соединения или просто убедиться, что система работает корректно.
Требования / Подготовка
- Любой современный дистрибутив Linux (Ubuntu, Debian, Fedora и т.д.).
- Утилита
ssпоставляется в пакете iproute2; в большинстве образов она уже установлена. - Базовые права пользователя (для просмотра слушающих портов может потребоваться
sudo).
Пошаговая инструкция
Шаг 1: Проверка установки
Выполните ss --version. Если утилита отсутствует, установите её:
# Для Debian/Ubuntu
sudo apt install iproute2
# Для Fedora/CentOS
sudo dnf install iproute2
Шаг 2: Просмотр всех активных соединений
Основная команда для получения полной картины:
ss -tulnp
-t— TCP-u— UDP-l— слушающие порты-n— числовые адреса (без DNS)-p— показать PID и имя процесса
Вывод отобразит таблицу со столбцами State, Recv‑Q, Send‑Q, Local Address:Port, Peer Address:Port и Process.
Шаг 3: Фильтрация по конкретному порту
Если вам нужны данные только для определённого порта (например, SSH — 22), используйте фильтр:
# Входящие соединения на порт 22
ss -tpn 'sport = :22'
# Исходящие соединения с порта 22
ss -tpn 'dport = :22'
Шаг 4: Фильтрация по процессу
Быстрый способ найти все соединения процесса, например sshd:
ss -tulnp | grep sshd
Для более точной фильтрации по PID:
ss -tulnp | awk '$6 ~ /pid=123/'
Шаг 5: Сохранение результатов
Для хранения отчёта в файле используйте редиректор:
ss -tulnp > ~/ss_connections.txt
Теперь вы можете открыть файл или отправить его для анализа.
Проверка результата
- Если команда возвращает список соединений, вы успешно получили данные.
- Для проверки слушающих портов используйте
ss -ltn— должны отображаться только порты в состоянииLISTEN. - Для подтверждения, что удалённый хост подключён, проверьте, есть ли запись в
ss -tpn 'sport = :<port>'.
Возможные проблемы
- Команда не найдена – отсутствует пакет iproute2. Установите его, как описано в шаге 1.
- Доступ запрещён – для просмотра портов ниже 1024 требуется sudo:
sudo ss -tulnp. - Вывод очень длинный – добавьте
grep,awkили сохраните в файл, чтобы управлять объёмом данных. - Нет столбца Process – запустите с флагом
-p; убедитесь, что у вас есть права для просмотра информации о процессах.
С помощью этих команд вы сможете быстро диагностировать сетевые неполадки в Linux, найти нежелательные соединения или просто проверить работоспособность системы. Если у вас возникнут дополнительные вопросы, обратитесь к разделу FAQ или свяжитесь с нами.