Как проверить сетевой трафик на сервере Ubuntu

Мониторинг сетевого трафика на Ubuntu – базовая задача для админа и DevOps. Нужно видеть, кто ходит на сервер, сколько уходит и приходит данных, какой процесс жрёт канал. Ниже – практичный набор: realtime-мониторы, долгосрочная статистика, захват пакетов и простая автоматизация.

Зачем смотреть сетевой трафик

  • Ловить аномальную активность, сканы и неожиданные исходящие соединения
  • Понимать, куда уходит полоса и где узкие места
  • Следить за нагрузкой интерфейсов и не допускать перегрузок
  • Иметь цифры для отчётов и разбора инцидентов

iftop: кто с кем и сколько прямо сейчас

iftop показывает входящий и исходящий трафик в реальном времени: пары IP, объём, текущую скорость. Удобно, когда нужно быстро ответить «кто сейчас грузит канал».

sudo apt install iftop
sudo iftop

После запуска откроется TUI: сверху хосты, снизу суммарные значения. Полезно сразу смотреть на неожиданные внешние адреса и всплески.

iftop: трафик по хостам в реальном времени

nload: графики входящего и исходящего

nload рисует простые графики in/out. Когда нужен «взгляд на загрузку», а не список IP – это самый быстрый вариант.

sudo apt install nload
sudo nload

Переключайте интерфейсы стрелками, если на сервере несколько NIC. Хорошо ловит скачки при DDoS-подобной нагрузке или «убежавшем» бэкапе.

nload: графики входящего и исходящего трафика

vnStat: статистика за день, месяц, год

vnStat не держит экран, а копит счётчики в фоне. Это про «сколько ушло за месяц», а не про live-потоки.

sudo apt install vnstat
sudo systemctl enable --now vnstat

Базовые отчёты:

vnstat
vnstat -d   # по дням
vnstat -m   # по месяцам
vnstat -h   # по часам

Убедитесь, что демон видит нужный интерфейс (vnstat --iflist, при необходимости vnstat -u -i eth0). Иначе статистика будет пустой.

bmon: интерфейсы и детализация

bmon (Bandwidth Monitor) удобен, когда интерфейсов много: rates, пакеты, ошибки, переключение между NIC в одном TUI.

sudo apt install bmon
sudo bmon

Помогает при разборе производительности: сравниваете каналы, видите, где растут drops или где упирается один линк.

bmon: мониторинг полосы по интерфейсам

nethogs: какой процесс жрёт сеть

nethogs группирует трафик по PID/процессу. Когда «сеть занята», а в iftop непонятно, какой сервис виноват, nethogs часто закрывает вопрос за минуту.

sudo apt install nethogs
sudo nethogs

Можно указать интерфейс: sudo nethogs eth0. Смотрите на неожиданные бинарники, шеллы и «забытые» агенты.

nethogs: потребление сети по процессам

tcpdump: захват пакетов

Когда нужен не «кто сколько», а «что именно в пакетах», берите tcpdump. Live-вывод:

sudo tcpdump -i eth0
# или с DNS-резолвом выключенным (быстрее, чище)
sudo tcpdump -ni eth0

Сохранить дамп и потом открыть в Wireshark:

sudo tcpdump -i eth0 -w capture.pcap
# ограничить объём, например 100 МБ
sudo tcpdump -i eth0 -C 100 -w capture.pcap

Фильтры BPF экономят диск и нервы: host 1.2.3.4, port 443, tcp and not port 22.

Полезные приёмы с iftop

Только HTTP (порт 80):

sudo iftop -f "port 80"

Конкретный интерфейс, если NIC несколько:

sudo iftop -i eth1

Имя интерфейса смотрите в ip -br a (на Ubuntu 22.04+ часто ens* / enp*, не eth0).

Автоматизация через cron

Для регулярных снимков статистики vnStat достаточно простого скрипта и crontab. Пример отчёта по дням:

#!/bin/bash
# /usr/local/bin/vnstat-report.sh
set -euo pipefail
OUT=/var/log/vnstat_report.txt
{
  date -Is
  vnstat -d
  echo "----"
  vnstat -m
} > "$OUT"
echo "Отчёт сохранён в $OUT"

Раз в час:

sudo chmod +x /usr/local/bin/vnstat-report.sh
echo '0 * * * * root /usr/local/bin/vnstat-report.sh' | sudo tee /etc/cron.d/vnstat-report

Для алертов по порогам лучше смотреть в сторону Prometheus node_exporter, Netdata или простого check в Zabbix. vnStat и cron – минимум, с которого можно начать.

Что брать в какой ситуации

  • Кто грузит канал прямо сейчас – iftop, nload, bmon
  • Какой процесс – nethogs
  • Сколько ушло за день/месяц – vnStat
  • Разбор содержимого пакетов – tcpdump (+ Wireshark)

Держите 2-3 утилиты под рукой и не ждите, пока «что-то странное» уже положит сайт. Live-монитор, долгосрочная статистика и возможность снять pcap закрывают большинство бытовых и прод-кейсов на Ubuntu-сервере.

Источники и ссылки


Комментарии загружаются…