- Home »

Мониторинг пропускной способности с помощью 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-напарник в этом деле!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.