Как генерировать данные Netflow в Linux

17

У нас есть несколько серверов Linux, для которых я хотел бы получить данные сетевого потока, которые будут обрабатываться анализатором сетевого потока. Я был избалован легкостью, с которой маршрутизаторы Mikrotik позволяют генерировать данные netflow, но мне не удалось найти инструмент с открытым исходным кодом , который мог бы генерировать данные netflow для нескольких интерфейсов в системе Linux.

Я сталкивался с fprobe, но он кажется довольно глючным. По общему признанию я еще не проводил много времени с этим, так как я также хотел бы оценить некоторые другие возможности. Другой упомянутый мной инструмент - это nprobe , который, по-видимому, является GPL, но не доступен для бесплатной загрузки, поскольку предлагается только за плату.

Все серверы, на которых я планирую генерировать данные сетевых потоков, - это системы Gentoo, но на самом деле это не должно иметь никакого значения. В лучшем случае это означает, что мне придется вручную скомпилировать инструмент из исходного кода.

Описание: Я ищу генератор потоков с открытым исходным кодом, который будет работать в Linux и позволяет захватывать потоки для нескольких интерфейсов.

Ричард Келлер
источник

Ответы:

16

Вы должны проверить IPT-NETFLOW , кажется, именно то, что вам нужно реализовать как модуль ядра для IPTABLES. Он активно поддерживается и успешно используется в некоторых интернет-провайдерах, поэтому должен быть достаточно хорошим. Документация может быть лучше, хотя (посмотрите в файле README).

Ochoto
источник
Мне не нравится идея компилировать пользовательские модули ядра - это может повлиять на стабильность, если только это не очень хорошо протестированный и стабильный модуль ...
Вим Керхофф
Это не freebsd, где такое программное обеспечение может быть разработано на основе уже существующих функций ядра, таких как netgraph. Вряд ли есть способ сделать это без пользовательского модуля. Хорошая вещь (и именно поэтому я комментирую) состоит в том, что исходники сейчас на github, и теперь у него также есть поддержка dkms. Выглядит довольно хорошо github.com/aabc/ipt-netflow
Флориан Хейгл,
8

Ntop сделает это, но, вероятно, это не лучший выбор. Определенно проверьте pmacct ; он предназначен именно для этого. Из списка возможностей:

  • Собирает данные через libpcap, Netlink / ULOG, NetFlow v1 / v5 / v7 / v8 / - v9, sFlow v2 / v4 / v5 и IPFIX
  • Сохраняет данные в несколько бэкэндов, включая таблицы памяти, MySQL, PostgreSQL, SQLite и BerkeleyDB.
  • Экспортирует данные на удаленные сборщики через IPFIX, NetFlow v5 / v9 иsFlow v5
  • Реплицирует входящие пакеты IPFIX, NetFlow и sFlow на удаленные коллекторы

Среди многих других вещей.

Вим Керхофф
источник
0

Преимущество fprobe заключается в том, что он может генерировать потоки Netflow с использованием обычного libpcap или ulogd .

он немного устарел и кажется действительно ошибочным, но он может быть полезен для начальной загрузки установки, поскольку он не требует компиляции модуля ядра (например, ipt-netflow ) и не содержит никаких дополнительных функций (таких как ntop или pmacct) ).

anarcat
источник