Ответ
Для анализа сетевого трафика в Linux я выбираю инструмент в зависимости от того, что нужно: трафик в реальном времени, статистика по процессам или агрегированные данные.
1. Мониторинг в реальном времени по интерфейсам:
# Установить: sudo apt install iftop
sudo iftop -i eth0 -P
-iуказывает интерфейс (например,eth0,ens18).-Pпоказывает порты. Это помогает быстро определить, какие хосты и порты генерируют трафик.
2. Мониторинг трафика по процессам:
# Установить: sudo apt install nethogs
sudo nethogs eth0
nethogs группирует трафик по PID и имени процесса, что незаменимо для поиска приложения, которое неожиданно активно использует сеть.
3. Сбор и просмотр исторической статистики:
# Установить: sudo apt install vnstat
vnstat -d # Показать статистику за день
vnstat -m # Показать статистику за месяц
vnstat работает как демон и хранит историю, не нагружая систему постоянным дампом трафика.
4. Базовые счетчики через ip или ss:
# Показать статистику по всем интерфейсам
ip -s link show
# Показать количество соединений (может косвенно указывать на активность)
ss -s
В DevOps-стеке для постоянного мониторинга я настраиваю node_exporter для сбора базовых метрик сетевых интерфейсов (bytes in/out, errors) в Prometheus. Для глубокого анализа протоколов и трафика уже использую специализированные решения вроде NetFlow/sFlow, собранные в Grafana.