Бесплатные анализаторы NetFlow, sFlow и IPFIX: обзор 6 Open Source решений для мониторинга сетевого трафика

Содержание

Зачем анализировать сетевой трафик и при чём тут flow-протоколы

Анализатор NetFlow open source: схема работы коллектора сетевого трафика

Когда в сети 50 устройств и один канал на 100 Мбит/с, мониторинг трафика — необязательная роскошь. Но стоит масштабу вырасти до сотен хостов, нескольких каналов и десятков тысяч соединений в секунду, вопрос «куда уходит полоса и кто её занимает» становится критически важным. Именно для этого существуют flow-протоколы и анализаторы сетевого трафика — инструменты, которые превращают поток сырых данных о соединениях в понятные отчёты, графики и алерты.

Flow-протоколы — это механизм, при котором маршрутизатор или коммутатор агрегирует информацию о проходящих через него сетевых соединениях (источник, назначение, порты, протокол, объём данных) и отправляет сводки на внешний коллектор. Три основных протокола, которые вы встретите практически на любом современном сетевом оборудовании:

NetFlow — разработан Cisco в середине 1990-х. Наиболее распространённая версия — NetFlow v9, которая поддерживает шаблоны и гибкий набор полей. NetFlow агрегирует все пакеты в потоки на самом устройстве и экспортирует готовую статистику, что обеспечивает точность учёта.

IPFIX (IP Flow Information Export) — стандартизированный IETF протокол, по сути являющийся эволюцией NetFlow v9. Поддерживается оборудованием большинства вендоров: Juniper, Huawei, MikroTik, Fortinet и других. Если вы работаете с мультивендорной сетью, IPFIX — ваш основной формат.

sFlow — принципиально другой подход. Вместо агрегации потоков на устройстве sFlow отбирает случайные пакеты (sampling) и отправляет их заголовки вместе с информацией о маршрутизаторе на коллектор. sFlow проще для оборудования (не требует flow-кеша), но менее точен на малых объёмах трафика. Широко поддерживается коммутаторами и маршрутизаторами различных вендоров.

В этой статье мы подробно рассмотрим каждый бесплатный анализатор NetFlow open source из топ-6 решений для сбора и анализа flow-данных. Все инструменты проверены, активно развиваются и применяются в реальных сетях — от небольших компаний до крупных интернет-провайдеров. Для каждого решения мы укажем поддерживаемые протоколы, используемые базы данных, операционные системы, плюсы и минусы, а также дадим сравнительную таблицу для быстрого выбора. Анализ трафика дополняет мониторинг серверов и инвентаризацию ИТ-инфраструктуры, формируя комплексную картину состояния сети.

Сравнение протоколов NetFlow, IPFIX и sFlow

Как выбрать анализатор сетевого трафика: критерии сравнения

Прежде чем переходить к обзору конкретных инструментов, определимся с критериями, по которым мы будем их оценивать. Это поможет вам сразу понять, на что обращать внимание при выборе open source решения для мониторинга трафика в вашей сети.

Поддерживаемые протоколы. Базовый критерий. Какие именно flow-форматы принимает коллектор: NetFlow v5, NetFlow v9, IPFIX, sFlow? Некоторые решения поддерживают все четыре, другие — только часть. Если у вас мультивендорная сеть, поддержка IPFIX и sFlow обязательна.

База данных и хранение. Куда записываются данные? Колоночные СУБД вроде ClickHouse обеспечивают молниеносные аналитические запросы на больших объёмах. PostgreSQL — универсальный вариант. Elasticsearch подходит для полнотекстового поиска и интеграции с Kibana. Плоские файлы (flat files) и RRD — лёгкие решения для небольших инсталляций.

Визуализация. Есть ли у коллектора собственный веб-интерфейс, или он рассчитан на интеграцию с Grafana, Kibana или другими внешними инструментами? Встроенная визуализация удобна для быстрого старта, а внешние системы — для гибкой настройки дашбордов.

Производительность и масштабируемость. Сколько потоков в секунду (flows per second, fps) может обработать коллектор? Для небольшой корпоративной сети достаточно нескольких тысяч fps, а для интернет-провайдера может потребоваться сотни тысяч.

Развёртывание. Поддержка Docker упрощает установку и обновление. Некоторые проекты предлагают готовый Docker Compose для запуска всего стека одной командой. Другие требуют сборки из исходников и ручной настройки зависимостей.

Лицензия и активность проекта. Открытая лицензия (AGPL, GPL, BSD, ISC) гарантирует свободу использования. Но не менее важна активность: когда был последний релиз, отвечают ли разработчики на issues, растёт ли сообщество.

Дополнительные возможности. Обогащение данных GeoIP и ASN, обнаружение аномалий и DDoS-атак, поддержка SNMP для получения имён интерфейсов, интеграция с BGP (FlowSpec, Blackhole) — эти функции превращают простой коллектор в полноценную систему сетевой аналитики.

Обзор 6 бесплатных анализаторов сетевого трафика

1. Akvorado — полный стек для аналитики flow-данных

Веб-интерфейс Akvorado

Akvorado — это полнофункциональный анализатор NetFlow open source, объединяющий в себе коллектор, систему обогащения данных и веб-интерфейс для визуализации. Проект разработан компанией Free — крупным французским интернет-провайдером, и активно используется в их продакшн-инфраструктуре.

Архитектура Akvorado построена на современном стеке: коллектор (inlet) принимает flow-данные по NetFlow v9, IPFIX или sFlow, затем передаёт их в Apache Kafka. Оттуда компонент outlet читает потоки, обогащает их данными GeoIP и именами интерфейсов через SNMP, и записывает в ClickHouse — колоночную базу данных, оптимизированную для аналитических запросов. Веб-интерфейс предоставляет графики, таблицы и карты для анализа трафика. Также доступен плагин для Grafana.

В сентябре 2025 года вышла версия Akvorado 2.0 с существенным архитектурным изменением — разделением inlet на два компонента (inlet и outlet), что улучшило производительность и упростило масштабирование. По данным пользователей, переход на версию 2.0 снизил нагрузку на CPU примерно на 35%. Развёртывание выполняется через Docker Compose одной командой, при этом в состав входят все необходимые компоненты: Akvorado, Kafka (в режиме KRaft), ClickHouse.

Ключевые характеристики:

  • Протоколы: NetFlow v9, IPFIX, sFlow
  • База данных: ClickHouse (через Apache Kafka)
  • Визуализация: встроенный веб-интерфейс + плагин Grafana
  • Язык: Go
  • Лицензия: AGPL-3.0
  • ОС: Linux (Docker)
  • Производительность: до 100 000 fps (при 64 ГБ RAM, 24 vCPU)
  • Текущая версия: 2.0.x
  • GitHub: github.com/akvorado/akvorado (~2 100 звёзд)
  • Демо: demo.akvorado.net

2. Xenoeye — легковесный высокопроизводительный коллектор с детекцией DDoS

Дашборд Grafana с данными Xenoeye

Xenoeye — легковесный анализатор NetFlow open source, написанный на C и ориентированный на высокую производительность. Проект разработан российской командой и распространяется под либеральной лицензией ISC. Коллектор изначально создавался для средних и крупных сетей, где требуются разные отчёты для разных групп пользователей.

Ключевая концепция Xenoeye — «мониторинговые объекты» (monitoring objects). Мониторинговый объект может представлять отдельную сеть, набор сетей, автономную систему, гео-объект или произвольный сетевой трафик, выделенный из flow-данных. Для каждого объекта можно настроить собственные отчёты, графики и пороговые значения.

Коллектор обрабатывает данные двумя способами: агрегация за фиксированные временные окна (для отчётов и графиков) и скользящие средние (moving averages) для быстрого реагирования на всплески трафика. Именно скользящие средние используются для обнаружения объёмных DDoS-атак — при превышении порогов Xenoeye может автоматически создавать BGP-анонсы (FlowSpec для фильтрации, rate-limit или перенаправление на очистку, а также Blackhole) и отправлять уведомления администраторам.

В релизе v25.02 добавлена обработка sFlow-протокола с возможностью парсинга DNS и TLS SNI из payload-данных — полезная функция для хостеров и дата-центров, позволяющая выявлять фишинговые домены. Данные агрегируются и экспортируются в PostgreSQL (с экспериментальной поддержкой ClickHouse). Визуализация осуществляется через Grafana с набором предустановленных дашбордов.

Ключевые характеристики:

  • Протоколы: NetFlow v5, NetFlow v9, IPFIX, sFlow
  • База данных: PostgreSQL (экспериментально ClickHouse)
  • Визуализация: Grafana (предустановленные дашборды: Overview, AS/GeoIP, Routers, DoS/DDoS)
  • Язык: C
  • Лицензия: ISC
  • ОС: Linux
  • Производительность: до 700 000 fps на одно ядро CPU
  • Текущая версия: v25.02
  • GitHub: github.com/vmxdev/xenoeye

3. ntopng Community Edition — мониторинг трафика в реальном времени

Веб-интерфейс ntopng

ntopng — один из наиболее известных анализаторов NetFlow open source, развивающийся с 1998 года. Community Edition (CE) распространяется под лицензией GPLv3 и предоставляет веб-интерфейс для мониторинга трафика в реальном времени с детализацией по хостам, портам, протоколам и географии.

Основная сила ntopng — глубокая инспекция пакетов (DPI) с помощью библиотеки nDPI, также разработанной ntop. Это позволяет классифицировать трафик по приложениям на уровне L7 — функция, недоступная большинству чистых flow-анализаторов. ntopng может работать напрямую с сетевыми интерфейсами (mirror/SPAN порты, TAP-устройства), захватывая пакеты через libpcap или PF_RING.

Однако есть существенный нюанс: для сбора NetFlow и sFlow данных с маршрутизаторов требуется компонент nProbe, который является платным продуктом (от €199). Без nProbe ntopng работает только как анализатор зеркалированного трафика. Community Edition также имеет ограничения по сравнению с Pro и Enterprise версиями: нет долгосрочного хранения истории (только несколько часов), отсутствует продвинутая детекция угроз.

Ключевые характеристики:

  • Протоколы: прямой захват пакетов (libpcap, PF_RING); NetFlow/sFlow/IPFIX — через nProbe (платный)
  • База данных: Redis (обязательно), опционально MySQL, Elasticsearch
  • Визуализация: встроенный веб-интерфейс (порт 3000)
  • Язык: C++
  • Лицензия: GPLv3 (Community Edition)
  • ОС: Linux, FreeBSD, macOS, Windows, Raspberry Pi
  • Текущая версия: 6.x
  • Сайт: ntop.org

4. NFDump + NFSen — проверенная временем классика

Интерфейс NFSen

NFDump — это проверенный анализатор NetFlow open source: набор инструментов командной строки для сбора и обработки flow-данных, активно развивающийся с начала 2000-х. Текущая серия — nfdump 1.7.x (кодовое название «unicorn»), последние обновления выходят регулярно. NFSen (Netflow Sensor) — веб-интерфейс для NFDump, отображающий графики на основе RRD-баз данных.

Связка NFDump + NFSen — де-факто стандарт среди бесплатных NetFlow-коллекторов. Их используют тысячи организаций по всему миру, от университетских сетей до государственных структур. Например, Управление кибербезопасности штата Арканзас (США) перешло на NFDump для мониторинга более 1000 маршрутизаторов и сетевых устройств при пиковой нагрузке 45 000 fps.

Коллектор nfcapd принимает flow-данные и записывает их в собственный бинарный формат с поддержкой сжатия (LZ4, LZO, ZSTD, bzip2). Утилита nfdump позволяет фильтровать, агрегировать и анализировать записанные данные с синтаксисом фильтров, похожим на tcpdump. NFSen добавляет веб-интерфейс с RRD-графиками, профилями, алертами и системой плагинов.

Стоит отметить nfsen-ng — современный форк NFSen с обновлённым веб-интерфейсом на PHP и JavaScript, совместимый с актуальными версиями PHP.

Ключевые характеристики:

  • Протоколы: NetFlow v5, NetFlow v9, IPFIX, sFlow
  • База данных: собственный бинарный формат (flat files) + RRD (для графиков)
  • Визуализация: NFSen (веб-интерфейс на Perl/PHP) или nfsen-ng (модернизированный вариант)
  • Язык: C (nfdump), Perl/PHP (NFSen)
  • Лицензия: BSD
  • ОС: Linux, Unix, macOS
  • Текущая версия: nfdump 1.7.x
  • GitHub: github.com/phaag/nfdump, github.com/phaag/nfsen

5. GoFlow2 — высокопроизводительный коллектор-конвейер

Архитектура GoFlow2

GoFlow2 — высокопроизводительный анализатор NetFlow open source в роли чистого коллектора, написанный на Go. Проект является развитием оригинального GoFlow, созданного и использовавшегося в продакшне Cloudflare. Сейчас GoFlow2 живёт в отдельной GitHub-организации (netsampler) и поддерживается сообществом.

Принципиальное отличие GoFlow2 от рассмотренных выше решений — это только коллектор, начальное звено пайплайна. Он не хранит данные и не предоставляет визуализации. GoFlow2 принимает flow-пакеты, декодирует их в унифицированный формат (protobuf или JSON) и передаёт дальше — в Kafka, файл, stdout или другой транспорт. Хранение, обогащение, графики и алерты — задача других компонентов, которые вы подключаете самостоятельно.

Это даёт максимальную гибкость: вы можете построить собственный пайплайн, например GoFlow2 → Kafka → ClickHouse → Grafana, или GoFlow2 → Loki → Grafana, или GoFlow2 → Splunk. Модульная архитектура позволяет заменять отдельные компоненты.

Ключевые характеристики:

  • Протоколы: NetFlow v5, NetFlow v9, IPFIX, sFlow
  • Выход: Kafka, stdout, файл (JSON, protobuf, текст)
  • Визуализация: нет (только коллектор)
  • Язык: Go
  • Лицензия: BSD-3-Clause
  • ОС: Linux, macOS, Windows
  • GitHub: github.com/netsampler/goflow2

6. pmacct — универсальный сборщик с множеством бэкендов

Архитектура pmacct

pmacct — многофункциональный анализатор NetFlow open source и сетевого трафика, объединяющий в себе сразу несколько подходов к сбору данных. В составе пакета три демона-коллектора: nfacctd (для NetFlow/IPFIX), sfacctd (для sFlow) и pmacctd (для прямого захвата пакетов через libpcap). Проект развивается с 2003 года под руководством Paolo Lucente и распространяется под лицензией GPL.

Главное преимущество pmacct — это беспрецедентное количество поддерживаемых бэкендов для хранения данных. Агрегированные flow-записи можно экспортировать в PostgreSQL, MySQL, SQLite, MongoDB, а также в очереди сообщений: Apache Kafka, RabbitMQ (AMQP). Это делает pmacct идеальным выбором для интеграции в существующие инфраструктуры с различными СУБД.

pmacct не предоставляет собственного веб-интерфейса. Для визуализации данных обычно используется Grafana (подключённая к PostgreSQL или другой СУБД) или pmGraph — отдельный open source инструмент, специально созданный для построения графиков на основе данных pmacct.

Ключевые характеристики:

  • Протоколы: NetFlow v5/v9, IPFIX, sFlow + нативный захват пакетов (libpcap)
  • База данных: PostgreSQL, MySQL, SQLite, MongoDB, Apache Kafka, RabbitMQ (AMQP)
  • Визуализация: нет встроенной (Grafana, pmGraph)
  • Язык: C
  • Лицензия: GPL
  • ОС: Linux, BSD
  • Сайт: pmacct.net
  • GitHub: github.com/pmacct/pmacct

Сравнительная таблица: 6 бесплатных анализаторов сетевого трафика

В таблице ниже собраны ключевые характеристики всех шести рассмотренных решений. Каждый анализатор NetFlow open source из этого списка подходит для определённого сценария — используйте таблицу для быстрого сравнения и выбора инструмента под вашу задачу.

КритерийAkvoradoXenoeyentopng CENFDump+NFSenGoFlow2pmacct
NetFlow v5НетДаnProbe*ДаДаДа
NetFlow v9ДаДаnProbe*ДаДаДа
IPFIXДаДаnProbe*ДаДаДа
sFlowДаДаnProbe*ДаДаДа
БДClickHousePG, CH (эксп.)Redis+MySQL/ESFlat files+RRDKafka/stdoutPG, MySQL, SQLite, Mongo, Kafka, AMQP
ВизуализацияВеб-UI+GrafanaGrafanaВеб-UINFSenНетНет (Grafana)
ЯзыкGoCC++C/Perl/PHPGoC
ЛицензияAGPL-3.0ISCGPLv3BSDBSD-3GPL
DockerComposeLXCДаНетДаНет
DDoSНетFlowSpec/BHБазоваяАлертыНетНет
GeoIPIPinfoЧерез GrafanaДаMaxMindНетMaxMind

* ntopng CE захватывает пакеты напрямую. Для сбора NetFlow/sFlow с маршрутизаторов нужен nProbe (платный).

Какой инструмент выбрать: рекомендации по сценариям

Универсального «лучшего» анализатора NetFlow open source не существует — выбор зависит от конкретной задачи, масштаба сети и имеющихся ресурсов. Ниже приведены рекомендации для типичных сценариев.

Если вам нужно запустить мониторинг сетевого трафика за минимальное время и получить результат «из коробки» — выбирайте Akvorado. Docker Compose разворачивает полный стек (коллектор + Kafka + ClickHouse + веб-интерфейс) одной командой. Через 15 минут после настройки экспорта flow-данных на маршрутизаторах вы уже видите графики, карты и таблицы. Рекомендуемые минимальные ресурсы: 8–16 ГБ RAM, 4+ ядер CPU.

Для интернет-провайдеров и дата-центров, где важны максимальная производительность и автоматическое реагирование на атаки, оптимален Xenoeye. До 700K fps на ядро CPU, скользящие средние для мгновенного обнаружения всплесков, автоматические BGP-анонсы (FlowSpec/Blackhole) для подавления DDoS.

Когда задача — мониторинг трафика на конкретном сегменте сети через зеркальный порт с классификацией по приложениям, ntopng Community Edition подходит лучше всего. Установка за пять минут, DPI из коробки, понятный веб-интерфейс. Но помните об ограничениях CE-версии.

Если у вас уже работает стек Kafka + ClickHouse (или Elasticsearch, Loki, Splunk) и нужен только эффективный коллектор — берите GoFlow2. Один бинарник, минимум зависимостей, вывод в JSON или protobuf.

Для ситуаций, когда сервер ограничен в ресурсах или требуется максимально простая и проверенная связка, NFDump + NFSen — безотказный вариант. Если устаревший интерфейс NFSen смущает — установите nfsen-ng в качестве современной замены.

Когда flow-данные должны попадать одновременно в несколько систем — PostgreSQL для отчётов, Kafka для потоковой обработки, MongoDB для аналитики — pmacct предоставляет наибольшее количество встроенных бэкендов.

Лучшие практики внедрения мониторинга сетевого трафика

Независимо от выбранного инструмента, есть несколько рекомендаций, которые сэкономят время и помогут избежать типичных ошибок при развёртывании анализатора NetFlow open source в вашей инфраструктуре.

Настройте правильный sampling rate. Sampling rate — это частота отбора пакетов для flow-статистики. Для NetFlow на маршрутизаторах Cisco и Juniper sampling rate обычно задаётся в диапазоне 1:100–1:1000 в зависимости от скорости канала. Слишком редкий сэмплинг даёт неточную картину, слишком частый — перегружает коллектор.

Выбирайте БД под задачу. ClickHouse оптимален для аналитических запросов по большим массивам flow-данных. PostgreSQL — надёжный выбор для средних объёмов. RRD подходит, когда хранить нужно только агрегированные метрики.

Docker vs bare metal. Docker — оптимальный выбор для быстрого старта. Для высоконагруженных инсталляций (ISP, десятки тысяч fps) рассмотрите bare metal: прямой доступ к сетевым буферам и более предсказуемая производительность.

Настройте GeoIP-базы. Используйте базы MaxMind GeoLite2 (бесплатные с регистрацией) или IPinfo. Настройте автоматическое обновление раз в неделю.

Мониторьте коллектор. Настройте метрики Prometheus, отслеживание потерянных пакетов, задержки обработки и заполненности очередей.

Безопасность. Никогда не выставляйте UDP-порты коллектора (2055, 4739, 6343) в публичный интернет. Используйте файервол для ограничения доступа только с IP-адресов ваших маршрутизаторов.

Заключение

Все шесть рассмотренных инструментов — рабочие, бесплатные и применяются в реальных продакшн-сетях. Выбор между ними определяется не абстрактным «качеством», а конкретными требованиями вашей инфраструктуры.

Akvorado предоставляет полный стек «из коробки» с ClickHouse для аналитики и встроенным веб-интерфейсом. Xenoeye обеспечивает максимальную производительность и встроенную защиту от DDoS. ntopng CE даёт мгновенную видимость трафика с глубокой инспекцией пакетов. NFDump + NFSen — проверенная десятилетиями классика с минимальными требованиями. GoFlow2 — идеальное начальное звено для любого кастомного пайплайна. pmacct — универсальный коллектор для сложных инфраструктур с разнородными системами хранения.

Начните с одного решения, подходящего под вашу основную задачу, и расширяйте по мере необходимости.

Исходный код всех рассмотренных инструментов доступен на GitHub: Akvorado, Xenoeye, ntopng, NFDump, GoFlow2, pmacct.

Нужна помощь с настройкой мониторинга сетевого трафика в вашей компании? Мы поможем подобрать подходящее решение и развернуть его на вашей инфраструктуре.

Часто задаваемые вопросы (FAQ)

NetFlow и sFlow решают одну задачу разными методами. NetFlow агрегирует информацию обо всех потоках на самом устройстве и отправляет точную статистику. sFlow отбирает случайные пакеты (сэмплирование) и отправляет их заголовки на коллектор. NetFlow точнее, но потребляет больше ресурсов маршрутизатора. sFlow проще для оборудования и быстрее настраивается. Для большинства задач мониторинга оба протокола дают достаточную точность — выбирайте тот, который поддерживает ваше оборудование.
Akvorado — единственное решение из рассмотренных, которое разворачивается полностью через Docker Compose одной командой. За 10–15 минут вы получаете работающий коллектор с веб-интерфейсом, ClickHouse для хранения данных и Kafka для буферизации.
Да, и это один из наиболее эффективных подходов. ClickHouse — колоночная СУБД, оптимизированная для аналитических запросов. Akvorado использует ClickHouse как основное хранилище. Xenoeye имеет экспериментальную поддержку. Для GoFlow2 и pmacct можно настроить запись через Kafka.
Зависит от решения и объёма трафика. Для NFDump достаточно 1–2 ГБ RAM при нескольких тысяч fps. Xenoeye на одном CPU-ядре обрабатывает до 700K fps. Akvorado с полным стеком рекомендует 8–16 ГБ RAM и 4+ ядер для средних нагрузок.
Akvorado имеет собственный плагин для Grafana. Xenoeye поставляется с предустановленными дашбордами. Для NFDump, GoFlow2 и pmacct данные экспортируются в SQL-базу, к которой подключается Grafana через соответствующий data source.