Home » Мониторинг пропускной способности с помощью iftop: руководство по CLI в реальном времени
Мониторинг пропускной способности с помощью iftop: руководство по CLI в реальном времени

Мониторинг пропускной способности с помощью iftop: руководство по CLI в реальном времени

Когда речь заходит о мониторинге серверов, особенно если ты держишь руку на пульсе своего облачного VPS, выделенного железа или даже контейнера в Docker, вопрос пропускной способности часто встает ребром. Как понять, кто и куда «сливает» трафик? Почему сервер вдруг начал «курить» на ровном месте? Как быстро найти виновника без тяжелой артиллерии типа Wireshark и без GUI? Вот тут-то и приходит на выручку iftop — утилита для мониторинга сетевого трафика в реальном времени прямо из CLI. В этой статье разберёмся, зачем нужен мониторинг с помощью iftop, как его быстро настроить, какие подводные камни есть и как выжать из него максимум.

Зачем вообще нужен мониторинг пропускной способности?

Допустим, у тебя есть VPS, выделенный сервер или даже целый пул контейнеров, и вдруг ты замечаешь: что-то не так — сайты тормозят, сервисы отваливаются, пинг скачет. Первая мысль — «нагрузка на сеть». Но кто виноват? Как понять, не льется ли трафик куда-то в Китай, или кто-то с твоего сервера не качает ли внезапно терабайты логов? Тут и нужен мониторинг пропускной способности.

  • Оперативная диагностика — выявить, какой процесс или IP жрет канал.
  • Анализ аномалий — отследить всплески трафика, которые могут быть как атаками, так и багами в приложении.
  • Планирование ресурсов — понять, когда и почему сеть забивается, чтобы масштабироваться или оптимизировать код.

Почему именно iftop?

iftop — это не просто консольный «аналог» привычного для многих top, только для сетевого трафика. Он крут тем, что:

  • Работает в реальном времени — никаких логов, никаких отчетов «задним числом».
  • Минимум нагрузки на систему — можно запускать даже на старом VPS.
  • Показывает не только общий трафик, но и разбивку по IP/портам.
  • Очень гибкий фильтр — можно отслеживать только нужные интерфейсы, порты, протоколы.

В отличие от всяких монстров вроде ntopng или Zabbix, iftop не требует настройки сервера, БД и веб-морд. Запустил — смотришь. Вышел — ничего не осталось.

Как работает iftop: под капотом и на практике

iftop слушает выбранный сетевой интерфейс (например, eth0, ens18, br0) и собирает информацию о каждом соединении: кто с кем общается, сколько байт прокачано, скорость передачи за последние 2, 10, 40 секунд. Для этого используется libpcap — та же библиотека, что и в tcpdump.

  • Трафик не сохраняется, а только анализируется «на лету».
  • Показывает как входящий, так и исходящий трафик по каждому соединению.
  • Сортировка по объему, скорости, IP и портам.
  • Фильтрация по адресам, портам, протоколам (например, только HTTP или только один конкретный IP).

Визуально — это табличка в консоли, где видно: кто с кем и сколько качает. Можно быстро увидеть, что, например, 192.168.1.5 качает на 80-й порт 100 Мбит/с, а 10.0.0.2 вообще неактивен.

Структура вывода iftop

  • Source → Destination — пара IP:порт, между которыми идет трафик.
  • Графики и числовые значения — мгновенная скорость, средняя за 10 и 40 секунд.
  • Total — общий объем данных за сессию работы iftop.

Быстрый старт: установка и запуск iftop

Почти на любом современном Linux-дистрибутиве iftop можно поставить одной командой. Вот как это делается:


# Для Debian/Ubuntu
sudo apt update
sudo apt install iftop

# Для CentOS/RHEL
sudo yum install epel-release
sudo yum install iftop

# Для Alpine Linux (часто используется в Docker)
sudo apk add iftop

Для macOS (если вдруг мониторишь локальный Mac):


brew install iftop

Запуск и базовые параметры

Самый простой запуск:


sudo iftop

Но лучше указать интерфейс явно (например, eth0):


sudo iftop -i eth0

Параметры, которые часто нужны:

  • -B — показывать трафик в байтах, а не битах.
  • -n — не пытаться резолвить имена хостов (ускоряет работу).
  • -N — не резолвить порты (оставить как есть).
  • -F — фильтр по подсети, например -F 192.168.1.0/24.

Пример:


sudo iftop -i eth0 -nNB

Горячие клавиши внутри iftop

  • h — справка по горячим клавишам.
  • t — переключение сортировки по общему трафику.
  • T — группировка по IP или по портам.
  • S — сортировка по исходящему трафику.
  • R — инвертировать сортировку.
  • l — фильтр по IP/порту (очень удобно!).
  • q — выйти.

Практические кейсы: где iftop реально спасает

Кейс Плюсы Минусы/Риски Рекомендации
Внезапный всплеск трафика на сервере Мгновенно видишь, кто и куда качает Не видно, какой процесс на сервере инициировал соединение Используй iftop + lsof/tcpdump для детализации
Мониторинг контейнеров Docker Можно смотреть трафик на br0 или veth-интерфейсах Сложно, если много контейнеров и NAT Фильтруй по IP контейнера, используй docker network inspect
Анализ DDoS-атаки Сразу видно, с каких IP идет нагрузка Нет автоматической блокировки В связке с fail2ban или iptables блокируй злоумышленников
Планирование апгрейда VPS/сервера Видно, когда сеть забивается под завязку Нет исторических данных Для долгосрочного анализа — используй vnStat, ntopng

Ошибки новичков и мифы

  • Миф: iftop показывает, какой процесс на сервере использует трафик.
    Реальность: Нет! iftop работает на уровне интерфейса, а не процессов. Для процессов — смотри nethogs или ss + lsof.
  • Миф: iftop можно использовать для долгосрочного мониторинга.
    Реальность: Нет, он не пишет логи, только «здесь и сейчас». Для истории — vnStat.
  • Ошибка: Запускать iftop без sudo — не увидишь весь трафик.
  • Ошибка: Не указывать интерфейс — можно смотреть не тот, что нужен (например, lo вместо eth0).
  • Ошибка: Использовать iftop на серверах с очень большим числом соединений — CLI может «подзависнуть».

Похожие утилиты и сравнение

Утилита CLI/GUI Показывает процессы? История/Логи Когда использовать
iftop CLI Нет Нет Быстрый анализ трафика по IP/портам
nethogs CLI Да Нет Смотреть, какой процесс жрет сеть
vnstat CLI/GUI Нет Да Собирать статистику по трафику за дни/месяцы
ntopng Web GUI Нет Да Глубокий анализ, графики, отчеты
tcpdump CLI Нет Да (pcap-файлы) Глубокий анализ пакетов, для расследования

Официальные ссылки:
iftop — официальный сайт
vnStat на GitHub
nethogs — официальный сайт

Интересные фишки и нестандартное использование

  • Можно запускать iftop в screen или tmux и наблюдать за трафиком на удаленном сервере, даже если SSH-сессия оборвется.
  • Используй watch -n 1 "iftop -i eth0 -nNB" для автоматического перезапуска (если нужно «чистый» вывод каждые N секунд).
  • Фильтрация: iftop -i eth0 -f "port 80" — смотришь только HTTP-трафик.
  • Можно запускать несколько экземпляров iftop на разных интерфейсах или с разными фильтрами одновременно.
  • В Docker-контейнерах удобно смотреть трафик на виртуальных veth-интерфейсах — так можно быстро понять, кто из контейнеров «шалит».

Автоматизация и интеграция с скриптами

Хотя iftop — интерактивная утилита, его можно использовать в автоматизации. Например, вывод можно парсить с помощью grep и awk (хотя это не очень красиво), или делать скриншоты вывода для отчетов. Более продвинутый вариант — запускать iftop в паре с expect или script для снятия дампов в определенное время.

  • Можно интегрировать с cron для периодического мониторинга (например, если подозреваешь ночную активность).
  • В связке с fail2ban можно автоматически блокировать IP, которые генерируют подозрительно много трафика.
  • В DevOps-пайплайнах iftop можно использовать для проверки, не «утекает» ли трафик в тестовой среде.

Новые возможности и плюсы для автоматизации

  • Быстрая диагностика проблем без установки тяжелых мониторинговых систем.
  • Можно быстро реагировать на атаки, не дожидаясь алертов от внешних систем.
  • Легко интегрируется в скрипты для emergency-режима (например, если сервер начал «тупить»).
  • Помогает в миграциях: до и после переноса сервиса видно, как изменился трафик.

Выводы и рекомендации

iftop — это must-have инструмент для любого, кто управляет VPS, выделенным сервером или даже контейнерным окружением. Если тебе нужен быстрый, легкий и наглядный способ узнать, что происходит с сетевым трафиком прямо сейчас — это твой выбор. Он не заменит полноценный мониторинг с историей и графиками, но для диагностики, поиска проблем и оперативного реагирования — просто незаменим.

  • Используй iftop, когда нужно быстро найти «прожорливого» клиента или подозрительный трафик.
  • Для долгосрочного анализа — дополняй его vnStat или ntopng.
  • Для анализа по процессам — смотри в сторону nethogs.
  • Не бойся экспериментировать с фильтрами и запускать несколько экземпляров одновременно.
  • Прокачай автоматизацию — интегрируй iftop в свои скрипты и пайплайны DevOps.

Если ты ищешь хостинг для своих экспериментов с мониторингом, можешь заказать VPS или выделенный сервер и сразу протестировать все на практике.

Мониторинг — это не только про «красивые графики», а про умение вовремя понять, что что-то идет не так. iftop — твой верный CLI-напарник в этом деле!


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

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

Leave a reply

Your email address will not be published. Required fields are marked