Использование ss для проверки сетевых соединений в Linux

Утилита ss — это мощный и современный инструмент для мониторинга сетевых соединений и сокетов в Linux. Она пришла на смену устаревшей netstat и предоставляет системным администраторам и разработчикам детальную информацию о состоянии сети. В этой статье мы подробно разберём, как использовать ss для проверки активных подключений, прослушиваемых портов, статистики сетевых протоколов и диагностики проблем на VPS-сервере.

Если вы арендуете VPS, управляете веб-сервером или просто хотите контролировать свою сеть, утилита ss станет вашим верным помощником. В отличие от массовых VPN-сервисов, где трафик смешивается с сотнями других пользователей, на личном VPS вы имеете полный контроль над каждым подключением — и утилита ss позволяет этот контроль осуществлять.

📑 Содержание:

Что такое ss и зачем она нужна

ss (Socket Statistics) — это утилита командной строки в Linux, которая выводит подробную статистику о сетевых сокетах. Она входит в состав пакета iproute2 и доступна в большинстве современных дистрибутивов. В отличие от netstat, ss использует данные напрямую из ядра Linux, что делает её быстрее и эффективнее при работе с большим количеством подключений.

С помощью ss вы можете:

ss vs netstat: почему ss лучше

Утилита netstat была стандартом десятилетиями, но сегодня она считается устаревшей. Во многих дистрибутивах она помечена как deprecated, и вместо неё рекомендуется использовать ss и ip.

Критерий netstat ss
Производительность Медленная, особенно при большом количестве соединений Быстрая, читает данные из ядра
Информация о процессах Требует прав root Показывает PID и имя программы (опция -p)
Фильтрация по состоянию Ограниченная Гибкие фильтры (state, sport, dport и др.)
Статистика по протоколам Ограниченная Детальная статистика (-s)
Поддержка IPv6 Есть, но ограничена Полная поддержка
Статус Устаревшая Актуальная, стандарт

💡 Важно:

В новых версиях RHEL, CentOS, Ubuntu и других дистрибутивов netstat может отсутствовать по умолчанию. Всегда используйте ss — это гарантирует совместимость и производительность.

Базовое использование ss

Рассмотрим основные команды ss, которые пригодятся каждому администратору.

1. Просмотр всех сокетов

$ ss -a

Показывает все сокеты (LISTEN и активные соединения).

2. Только TCP-сокеты

$ ss -t

3. Только UDP-сокеты

$ ss -u

4. Прослушиваемые порты (LISTEN)

$ ss -l

Команда покажет все порты, на которых ваше приложение ожидает входящих подключений.

5. Комбинированные опции

$ ss -tuln

Эта комбинация — одна из самых популярных: -t (TCP), -u (UDP), -l (LISTEN), -n (числовые порты, без разрешения имён). Позволяет быстро увидеть, какие сервисы запущены на вашем VPS.

6. Показать PID и имя процесса

$ ss -p

Добавьте -p, чтобы видеть, какой процесс (PID) открыл сокет. Это крайне полезно для поиска вредоносных или подозрительных подключений.

Фильтрация и расширенные опции

Главная сила ss — возможность фильтровать соединения по различным критериям.

Фильтр по состоянию (state)

$ ss -t state established
$ ss -t state listening
$ ss -t state time-wait

Можно использовать состояния: established, listening, time-wait, syn-sent, close-wait и другие.

Фильтр по порту

$ ss -t sport = 80 # исходящие соединения с порта 80
$ ss -t dport = 443 # входящие на порт 443
$ ss -t dport > 1024 # порты больше 1024

Фильтр по адресу

$ ss -t dst 192.168.1.1
$ ss -t src 10.0.0.1

Исключение локальных подключений

$ ss -t state established '!( dst 127.0.0.1 )'

Покажет только внешние установленные соединения.

Мониторинг в реальном времени

ss можно использовать в непрерывном режиме, аналогично top. Для этого используется утилита watch или сама ss в цикле.

$ watch -n 1 'ss -tuln'
$ watch -n 2 'ss -t state established | wc -l' # количество активных TCP-соединений

Это помогает отслеживать всплески трафика, атаки или утечки сокетов.

Диагностика сетевых проблем с ss

Статистика по протоколам

$ ss -s

Выдаёт сводную статистику: сколько TCP/UDP/RAW сокетов, состояние их очередей, тайм-ауты и т.д. Позволяет быстро оценить нагрузку на сетевую подсистему.

Обнаружение утечек сокетов

Если ваше приложение не закрывает соединения, они переходят в состояние CLOSE_WAIT или TIME_WAIT. Это может привести к исчерпанию сокетов.

$ ss -t state close-wait
$ ss -t state time-wait | wc -l

Поиск подозрительных подключений

Команда для поиска всех установленных соединений на определённый порт (например, 22 — SSH):

$ ss -t state established dport = 22

Если вы видите много подключений с одного IP — возможно, идёт брутфорс или DDoS.

🔍 Пример диагностики:

Вы обнаружили, что ваш VPS медленно отвечает. Запустите ss -t state established и увидите сотни соединений на порт 80/443. Это может быть DDoS или ошибка в веб-сервере. С помощью ss -p вы определите процесс, а фильтром по IP — источник атаки.

ss и безопасность VPS

Управление сетевыми соединениями напрямую связано с безопасностью вашего сервера. На личном VPS вы можете отслеживать каждое подключение и быстро выявлять аномалии.

🛡️ Почему это важно для владельцев VPS?

  • Обнаружение несанкционированного доступа — если кто-то подключился к вашему SSH-порту, вы увидите это в ss.
  • Контроль над сервисами — вы всегда знаете, какие порты открыты и какие процессы их слушают.
  • Анализ атак — статистика по соединениям помогает понять, идёт ли на вас DDoS или брутфорс.
  • Аудит сети — вы можете проверить, не открыл ли вредоносный софт скрытые порты.

В отличие от массовых VPN, где вы не видите, что происходит на общем IP-адресе, личный VPS даёт вам полную прозрачность. Вы видите все соединения, можете их анализировать и блокировать подозрительные IP через фаервол.

📌 Рекомендация:

Используйте ss -tulnp ежедневно для быстрой проверки открытых портов и процессов на вашем VPS. Это поможет вовремя заметить уязвимости.

🔐 Личный VPN-сервер на VPS с технологией XHTTP + Reality

Хотите максимальную защиту своего трафика? Используйте VPS-VPN — персональный выделенный VPN-сервер. В отличие от обычных VPN, где 1000+ человек сидят на одном IP, вы получаете собственный VPS.

Нас в 1000 раз сложнее заблокировать и отследить, потому что технология XHTTP + Reality имитирует браузер Chrome — DPI не отличает ваш трафик от обычного веб-сёрфинга.

🚀 Получить личный VPS

Заключение

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

Освоив ss, вы сможете:

✅ Итог:

Если вы администрируете сервер, работаете с сетями или просто заботитесь о безопасности — ss должна быть в вашем арсенале. А если вы хотите получить личный защищённый VPS с современной технологией обхода DPI, обратитесь к нам — VPS-VPN. Мы предоставляем выделенные серверы с XHTTP + Reality, где ваш трафик полностью маскируется.

Выбирайте надёжность и контроль. Выбирайте VPS-VPN.