Перейти к содержимому

Как написать свой анализатор для netflow

  • автор:

Анализ сетевого трафика — 10 лучших бесплатных анализаторов и коллекторов

Многие администраторы сетей часто сталкиваются с проблемами, разобраться с которыми поможет анализ сетевого трафика. И здесь мы сталкиваемся с таким понятием, как анализатор трафика. Так что же это такое?

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

Обновлено: 2021-01-17 12:35:01 Вадим Дворников автор материала

Термин » NetFlow » относится к протоколу Cisco , предназначенному для сбора информации о трафике по IP и мониторинга сетевого трафика. NetFlow был принят в качестве стандартного протокола для потоковых технологий.

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

Несколько других поставщиков сетевого оборудования имеют свои собственные протоколы для мониторинга и сбора данных. Например, Juniper , другой весьма уважаемый поставщик сетевых устройств, называет свой протокол » J-Flow «. HP и Fortinet используют термин » s-Flow «. Несмотря на то, что протоколы называются по-разному, все они работают аналогичным образом. В этой статье мы рассмотрим 10 бесплатных анализаторов сетевого трафика и коллекторов NetFlow для Windows .

Мониторинг сетевого трафика — 10 лучших бесплатных анализаторов и коллекторов

SolarWinds Real-Time NetFlow Traffic Analyzer

SolarWinds Real-Time NetFlow Traffic Analyzer

Free NetFlow Traffic Analyzer является одним из наиболее популярных инструментов, доступных для бесплатного скачивания. Он дает возможность сортировать, помечать и отображать данные различными способами. Это позволяет удобно визуализировать и анализировать сетевой трафик. Инструмент отлично подходит для мониторинга сетевого трафика по типам и периодам времени. А также выполнение тестов для определения того, сколько трафика потребляют различные приложения.

Этот бесплатный инструмент ограничен одним интерфейсом мониторинга NetFlow и сохраняет только 60 минут данных. Данный Netflow анализатор является мощным инструментом, который стоит того, чтобы его применить.

Colasoft Capsa Free

Colasoft Capsa Free

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

Другие функции включают в себя анализ безопасности сети. Например, отслеживание DoS/DDoS-атак , активности червей и обнаружение ARP-атак . А также декодирование пакетов и отображение информации, статистические данные о каждом хосте в сети, контроль обмена пакетами и реконструкция потока. Capsa Free поддерживает все 32-битные и 64-битные версии Windows XP .

Минимальные системные требования для установки: 2 Гб оперативной памяти и процессор 2,8 ГГц. У вас также должно быть соединение с интернет по сети Ethernet ( совместимой с NDIS 3 или выше ), Fast Ethernet или Gigabit с драйвером со смешанным режимом. Он позволяет пассивно фиксировать все пакеты, передаваемые по Ethernet-кабелю .

Angry IP Scanner

Angry IP Scanner

Это анализатор трафика Windows с открытым исходным кодом, быстрый и простой в применении. Он не требует установки и может быть использован на Linux , Windows и Mac OSX . Данный инструмент работает через простое пингование каждого IP-адреса и может определять MAC-адреса , сканировать порты, предоставлять NetBIOS-информацию , определять авторизованного пользователя в системах Windows , обнаруживать веб-серверы и многое другое. Его возможности расширяются с помощью Java-плагинов . Данные сканирования могут быть сохранены в файлы форматов CSV, TXT, XML .

ManageEngine NetFlow Analyzer Professional

ManageEngine NetFlow Analyzer Professional

Полнофункциональная версия программного обеспечения NetFlow от ManageEngines . Это мощное программное обеспечение с полным набором функций для анализа и сбора данных: мониторинг пропускной способности канала в режиме реального времени и оповещения о достижении пороговых значений, что позволяет оперативно администрировать процессы. Кроме этого предусмотрен вывод сводных данных по использованию ресурсов, мониторинг приложений и протоколов и многое другое.

Бесплатная версия анализатора трафика Linux позволяет неограниченно использовать продукт на протяжении 30 дней, после чего можно производить мониторинг только двух интерфейсов. Системные требования для NetFlow Analyzer ManageEngine зависят от скорости потока. Рекомендуемые требования для минимальной скорости потока от 0 до 3000 потоков в секунду: двухъядерный процессор 2,4 ГГц, 2 Гб оперативной памяти и 250 Гб свободного пространства на жестком диске. По мере увеличения скорости потока, который нужно отслеживать, требования также возрастают.

The Dude

The Dude

Это приложение представляет собой популярный сетевой монитор, разработанный MikroTik . Он автоматически сканирует все устройства и воссоздает карту сети. The Dude контролирует серверы, работающие на различных устройствах, и предупреждает в случае возникновения проблем. Другие функции включают в себя автоматическое обнаружение и отображение новых устройств, возможность создавать собственные карты, доступ к инструментам для удаленного управления устройствами и многое другое. Он работает на Windows , Linux Wine и MacOS Darwine .

JDSU Network Analyzer Fast Ethernet

JDSU Network Analyzer Fast Ethernet

Эта программа анализатор трафика позволяет быстро собирать и просматривать данные по сети. Инструмент предоставляет возможность просматривать зарегистрированных пользователей, определять уровень использования пропускной способности сети отдельными устройствами, быстро находить и устранять ошибки. А также захватывать данные в режиме реального времени и анализировать их.

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

Plixer Scrutinizer

Plixer Scrutinizer

Этот анализатор сетевого трафика позволяет собрать и всесторонне проанализировать сетевой трафик, а также быстро найти и исправить ошибки. С помощью Scrutinizer можно отсортировать данные различными способами, в том числе по временным интервалам, хостам, приложениям, протоколам и т.д. Бесплатная версия позволяет контролировать неограниченное количество интерфейсов и хранить данные по 24 часам активности.

Wireshark

Wireshark

Wireshark — это мощный сетевой анализатор может работать на Linux , Windows , MacOS X , Solaris и других платформах. Wireshark позволяет просматривать захваченные данные с помощью графического интерфейса, или использовать утилиты TTY-mode TShark . Его функции включают в себя сбор и анализ трафика VoIP, отображение в режиме реального времени данных Ethernet , IEEE 802.11 , Bluetooth , USB , Frame Relay , вывод данных в XML , PostScript , CSV , поддержку дешифрования и многое другое.

Системные требования: Windows XP и выше, любой современный 64/32-битный процессор, 400 Mb оперативной памяти и 300 Mb свободного дискового пространства. Wireshark NetFlow Analyzer — это мощный инструмент, который может существенно упростить работу любому администратору сети.

Paessler PRTG

Paessler PRTG

Этот анализатор трафика предоставляет пользователям множество полезных функций: поддержку мониторинга LAN , WAN , VPN , приложений, виртуального сервера, QoS и среды. Также поддерживается мониторинг нескольких сайтов. PRTG использует SNMP , WMI , NetFlow , SFlow , JFlow и анализ пакетов, а также мониторинг времени бесперебойной работы/простоя и поддержку IPv6 .

Бесплатная версия дает возможность использовать неограниченное количество датчиков в течение 30 дней, после чего можно бесплатно использовать только до 100 штук.

nProbe

nProbe

Это полнофункциональное приложение с открытым исходным кодом для отслеживания и анализа NetFlow .

nProbe поддерживает IPv4 и IPv6 , Cisco NetFlow v9 / IPFIX , NetFlow-Lite , содержит функции анализа VoIP трафика, выборки потоков и пакетов, генерации логов, MySQL/Oracle и DNS-активности , а также многое другое. Приложение является бесплатным, если вы анализатор трафика скачиваете и компилируете на Linux или Windows . Исполняемый файл установки ограничивает объем захвата до 2000 пакетов. nProbe является полностью бесплатным для образовательных учреждений, а также некоммерческих и научных организаций. Данный инструмент будет работать на 64-битных версиях операционных систем Linux и Windows .

Этот список из 10 бесплатных анализаторов трафика и коллекторов NetFlow поможет вам приступить к мониторингу и устранению неисправностей в небольшой офисной сети или обширной, охватывающей несколько сайтов, корпоративной WAN-сети .

Каждое представленное в этой статье приложение дает возможность контролировать и анализировать трафик в сети, обнаруживать незначительные сбои, определять аномалии пропускного канала, которые могут свидетельствовать об угрозах безопасности. А также визуализировать информацию о сети, трафике и многое другое. Администраторы сетей обязательно должны иметь в своем арсенале подобные инструменты.

Настройка протокола netflow на оборудовании cisco.

Netflow – протокол, разработанный изначально компанией Cisco для учёта сетевого трафика. В настоящий момент его сфера применения выходит далеко за пределы устройств этой компании, существуют свободные реализации, многие производители добавляют поддержку netflow в свои устройства. Существует несколько версий этого протокола, наиболее распространены версии 5 и 9, при этом функциональные отличия между версиями невелики.

В рамках netflow подразумевается три роли, в которых могут выступать устройства:

  1. Сенсор – устройство, собирающее статистику о трафике и передающее её коллектору. В качестве сенсора может выступать маршрутизатор или коммутатор третьего уровня cisco.
  2. Коллектор – приложение, работающее на сервере, собирающее и сохраняющее статистику, полученную от сенсоров.
  3. Анализатор – приложение, анализирующее и обрабатывающее сохранённую коллектором статистику, предоставляет различные отчёты, графики и т.п.

В статистике, собираемой на коллекторе учитывается не каждый пакет индивидуально – это было бы слишком ресурсоёмко, а потоки. Поток (flow) – это группа пакетов, у которых совпадают:

  • Адрес отправителя;
  • Адрес получателя;
  • Порт источника (для TCP или UDP);
  • Порт получателя (для TCP или UDP);
  • Тип и код сообщения (для ICMP);
  • Протокол, инкапсулированный в IP (поле заголовка IP «protocol»);
  • Значение поля ToS;
  • Интерфейс, на котором появился пакет.

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

Статистика по потокам отправляется на коллектор и частично может быть просмотрена локально на самом маршрутизаторе. Приведём конкретный перечень того, что отправляется на коллектор:

  • Версия протокола;
  • Порядковый номер записи о потоке;
  • Время начала и окончания потока;
  • Количество байт и пакетов в потоке;
  • Интерфейсы, через которые осуществлялась передача;
  • Адрес получателя и отправителя;
  • Порты получателя и отправителя;
  • Номер протокола, инкапсулированного в IP;
  • Значение ToS;

Настройка протокола netflow достаточно проста. Необходимо выбрать интерфейсы, на которых мы хотим организовать сбор статистики и направление трафика, который мы хотим мониторить (на вход, на выход или оба). Например:

R1(conf)# interface FastEthernet 0/1 R1(config-if)# ip flow ingress R1(config-if)# ip flow egress

Соответственно, ingress заставляет мониторить входящий на интерфейс Fa0/1 трафик, а egress – исходящий. Второй элемент настройки – указание адреса коллектора и номера UDP порта, на котором он готов получать от нас статистику. Кроме того, можно указать версию протокола netflow, которая будет понятна коллектору. Это ещё две строчки конфига:

R1(config)# ip flow-export destination 192.168.0.100 2055 R1(config)# ip flow-export version 5

Для отладки хорошо использовать две команды: show ip cache flow – выдаёт локальную статистику netflow прямо на маршрутизаторе, без коллектора; show ip flow export – отображает статистику по взаимодействию с коллектором (сколько потоков отправлено, сколько пакетов ушло на коллектор, ошибки при взаимодействии с коллектором и т.п.).

Как видно из данной статьи, настройка протокола Netflow на оборудовании cisco дело достаточно простое, я бы сказал, что сложнее настроить коллектор. Что может выступать в качестве коллектора? Во-первых, многие биллинг-системы работают с этим протоколом. Через него они получают статистику, какой ip адрес сколько скачал из интернета, а через SNMP отправляют на маршрутизатор команды по изменению списков контроля доступа, чтобы запретить выход тем пользователям, кто пересидел свой лимит. Во-вторых, есть платное ПО, которое выступает в качестве коллектора и анализатора, например, Scrutinizer NetFlow Analyzer от Plixer International. В-третьих, есть бесплатные коллекторы. В частности, под Ubuntu и Debian линуксом я пользовался отличным пакетом flow-tools. Минус последнего варианта заключается в том, что анализатор пришлось писать самому.

NetFlow, Cisco и мониторинг трафика

Всем доброго времени суток! Разбираясь с NetFlow, таким простым, удобным и часто используемым протоколом, я осознал, что он не такой уж и простой, и подводных камней при его эксплуатации хватает.
Под катом я собрал все, что для начала необходимо знать о NetFlow и его настройках на Cisco, отдал дань eucariot, пишущему отличные статьи о сетях, и… Картинки, немного веселых картинок.

Определимся с основными понятиями

NetFlow — проприетарный открытый протокол, разработанный Cisco для мониторинга трафика в сети. Netflow предоставляет возможность анализа сетевого трафика на уровне сеансов, делая запись о каждой транзакции TCP/IP.
Архитектура системы строится на сенсоре, коллекторе и анализаторе:
— Сенсор собирает статистику по проходящему через него трафику. Сенсоры имеет смысл ставить в «узловых точках» сети, например, на граничных маршрутизаторах сегментов сети.
— Коллектор осуществляет сбор информации от сенсоров. Полученные данные он сбрасывает в файл для дальнейшей обработки. Различные коллекторы сохраняют данные в различных форматах.
— Анализатор, или система обработки, считывает эти файлы и генерирует отчеты в форме, более удобной для человека. Эта система должна быть совместима с форматом данных, предоставляемых коллектором [1]. В современных системах коллектор и анализатор часто объединены в одну систему.

Обычно коллектор и анализатор являются частями одного программного комплекса, работающего на сервере. Разновидностей ПО коллектор/анализатор множество, платные и бесплатные, под Windows и Unix-системы.
В статье я не буду затрагивать эту область, рассмотрю только принципы работы NetFlow и настройку сенсора на Cisco.
Нужно сразу уяснить — коллектор и стоящий за ним анализатор являются «пассивными» элементами системы. Сенсор шлет на коллектор отчеты о трафике, коллектор принимает, анализатор анализирует, и заполняет свою базу данных на сервере. По сути, при поднятом сервере, нам не нужно вручную подключать устройства, подпадающие под мониторинг, на сервере. Пока сенсор шлет отчеты, коллектор их принимает, анализатор регистрирует. Если сенсор выключен, он «исчезает» из текущей «он-лайн» статистики.

Описание протокола
  • Адрес источника;
  • Адрес назначения;
  • Порт источника для UDP и TCP;
  • Порт назначения для UDP и TCP;
  • Тип и код сообщения для ICMP;
  • Номер протокола IP;
  • Сетевой интерфейс (параметр ifindex SNMP);
  • IP Type of Service.
Собственно, настройка

Разберем конфигурацию сенсора при настройке на Cisco:

Router_NF# conf t
Router_NF(config)# ip flow-export destination 192.168.0.1 9996
Router_NF(config)# ip flow-export destination 10.10.0.1 9996
Router_NF(config)# ip flow-export version 9

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

Router_NF(config)# ip flow-cache timeout active 1

Указываем, как часто обновлять кэш NetFlow данными о трафике еще активной сессии

Router_NF(config)# ip flow-cache timeout inactive 15

Указываем время, в течение которого если в существующем потоке не передаются данные, то он закрывается, и информация о нем записывается в кэш, а затем передается на коллектор

Router_NF(config)# ip flow-export source FastEthernet 0/0
Router_NF(config)# ip flow-export source vlan4
Router_NF(config)# ip flow-export source Port-channel1.2

Источники отчета о трафике, статистика будет собираться с них. На стороне анализатора будут отдельно промониторены и интерфейс, и VLAN, и Port-channel

!
ip access-list standard iacl-snmp
remark ACL for SNMP access to device
permit 192.168.0.1
permit 10.10.0.1
deny any log
!

Добавим ACL для более гармоничного фэн-шуя

!
snmp-server group snmp v1 access iacl-snmp
snmp-server group snmp v2c access iacl-snmp
snmp-server community ******** **** iacl-snmp
snmp-server ifindex persist
snmp-server trap-source Loopback0
snmp-server enable traps tty
!

Настраиваем snmp для правильного распознавания имен интерфейсов
Наконец дошло до интерфейса:

Router_NF(config)# interface FastEthernet 0/0
Router_NF(config-if)# ip flow egress
Router_NF(config-if)# ip flow ingress

Указываем, какой трафик будет учитываться, входящий в интерфейс или исходящий из него? Если исходящий, то ip flow egress, если входящий, то ip flow ingress
Или

Router_NF(config-if)# ip route-cache flow

«ip route-cache flow» может использоваться только для основного интерфейса, а «ip flow ingress» — это расширение для использования для сабинтерфесов. Функционал NetFlow Subinterface Support позволяет включать NetFlow для каждого сабинтерфейса. В сценарии, когда ваша сеть содержит множество сабинтерфейсов, а вам необходимо собирать записи только с некоторых, вы можете тонко настроить сбор информации только с определенных сабинтерфейсов

Что можно посмотреть на сенсоре:

Router_NF# show ip cache flow

Информация о трафике, ожидающая отправки на коллектор

Router_NF# show ip cache verbose flow

Детальная информация о трафике, ожидающая отправки на коллектор

Router_NF# show ip flow interface

Интерфейсы, являющиеся сенсорами NetFlow

Router_NF# show ip flow export

source и destination отчетов NetFlow, сколько отправлено дэйтаграмм, сколько ошибок

Router_NF# show ip flow top-talkers

Информация о чемпионах, представлена категорийно, вплоть до самых посещаемых интернет — ресурсов
По основной настройке все, полезные ссылки для более полного просветления [4], [5] и [6].

Ложка дегтя

«Другой» трафик. Как известно, за многими распространенными приложениями закреплены свои порты, рассмотрим

часть вывода show ip cache flow

Рисунок взят из [7].
Однако с течением времени доля трафика, попадающего в раздел «Other», растет, в связи с ростом числа приложений, использующих динамические, случайно сгенерированные порты.
В документе [8], обозревающем NetFlow, вскользь упоминается проблема, хорошо проиллюстрированная на рисунке

Конечно, хотелось бы, чтобы самый разный трафик четко описывался в отчетах, например:

Отличная таблица, взята из статьи, не смог пройти мимо

Категория трафика Порты Протокол прикладного уровня
Mail 25, 109, 110, 113, 143 smtp, pop2, pop3, ident, imap
Web 80, 8080, 443 http, https
data 20, 21, 3306, 66, 1521, 1526, 1524 ftp, MySQL, sqlnet, Oracle, Ingres
Network management 53, 137, 138, 139, 445, 161, 123, 783, 8200 domain, netbios, snmp, ntp, spamassassin, GoToMyPC
Interactive 22, 23, 513, 543 ssh, telnet, rlogin, klogin
nntp 119 nntp
Chat 194, 6891–6901, 1863, 5050, 5190 irc, msn messenger, yahoo messenger, ICQ
streaming 554, 1755, 1220, 8000–8005, 7070, 7071, 6970 rtsp, ms-streaming, Apple quicktime, internet radio (shoutcast), Real Audio & Video
Malware & games 1433, 1434, 666, 1999, 31337, 12345, 12346, 20034, 1024, 1025, 31338, 31339, 3127, 27015, 27016, 26000, 27001, 27960, 3724 Ms-sql-s, ms-sql-m, backdoor, Back Orifice, NetBus, netspy, myDoom, HalfLife, Quake, QuakeWorld, QuakeIII, WarCraft
p2p 411, 412, 1214, 3531, 4111, 4661–4665, 4672, 6346, 6347, 6669,6881–6889, 23302, 32285, 59049, 41170, 57990 Direct Connect, Fasttrack, Kazaa, eDonkey, Gnutella, Napster, BitTorrent, Ares, Mp2p, Azureus
Others

Прогресс не стоит на месте, технологии идут вперед, и шеф получит полный отчет проблему нераспознанного трафика решают разными интересными способами, например с помощью технологии NBAR.
Во время поисков было найдено обсуждение [11] и интересная презентация [12]. Дальше в дебри не пойду, ибо юн, горяч и неопытен.

Есть мнение, что у автора поста каша в голове, и он что-то упускает!

В процессе написания статьи я, как мог, ответил на свои вопросы, и надеюсь, не поставил новых нигде не ошибся.
Спасибо за внимание!

анализ трафика NetFlow — очевидное и невероятное

Сбор статистики с помощью netflow — наиболее гибкий и IMHO приятный (если такое вообще бывает) способ получения информации о том что? где? ни_фига_себе_а_это_откуда?

Основные плюсы netflow — территориально распределенная структура сенсоров/коллекторов, неплохое описание этого проприетарного протокола, приличное количество продуктов — от скриптов, написанных на коленке, находящихся в базах FreshMeat, SourceForge и т.п., до анализаторов промышленного уровня типа ManageEngine NetFlow Analyser со стоимостью более 700 у.е. за лицензию на 10 интерфейсов, HP OpenView Performance Insight Report Pack for NetFlow Interfaces. Есть возможность подобрать себе «одежку» по размеру.

Минусы netflow, как и везде — необходимость наличия определенного уровня знаний, трудоемкость настройки программных продуктов, ресурсоемкость. Для примера тот же самый NetFlow Analyser представляет собой набор java-программ, которые используют в работе сервер приложений JBoss (под Tomcat тоже работать должно) и поставляемую в комплекте СУБД MySQL. Весь этот зоопарк, необходимо отметить, весьма шустро работает на двухпроцессорном 2.8Ghz серваке. Некоторые сенсоры, работающие в userspace, склонны к чрезмерному потреблению ресурсов и потере пакетов при высоких нагрузках — особенно использующие libpcap.
Не могу сказать минус это или плюс, но это неотъемлемый атрибут netflow — агрегация. Конечно агрегация экономит место, но иногда это мешает проводить детальный анализ трафика.

Как у каждого решения, у технологии netflow помимо минусов и плюсов есть еще альтернативы. Из прямых альтернатив можно обратить свой взор на sFlow. Собирать трафик можно используя RMON, SNMP, IPFIX (детище IETF). Плюс, как вариант, если все в одной стойке, то можно сделать SPAN-порт и подключить туда сенсор. Для интересующихся рекомендую зайти на сайт SCAMPI — SCAleable Monitoring Platform for the Internet — народ в Европе заморачивается созданием крупной системы мониторинга.

netflow — cемейство протоколов

Для сбора трафика в большинстве случаев используется 5-я версия протокола. Вообще, если разобраться, то кроме 5-й версии обычному крестьянскому парню, только что оторвавшемуся от сохи, ничего и не нужно. Именно поэтому множество коллекторов и сенсоров работают с 5 версией. Если зайти на сайт Cisco, то можно прочитать, что версии 2, 3, 4 и 6 не были выпущены или не поддерживаются FlowCollector’ом.

Собственно версии Netflow:
1. Ура! Товарищи! Oно родилось. Роды были сложными — дитя вышло ублюдочным. Бобик сдох. Мурзик сбег. (c) не помню кто.
5. Добавлены поля источника и получателя AS необходимые для мониторинга BGP-маршрутизаторов и flow sequence numbers (32 битные значения, меняющееся настолько часто, что нехорошему человеку трудно вставить свои netflow-данные в экспортируемый поток).
7. Используется на коммутаторах и несовместима с маршрутизаторами Cisco.
8. Добавлены router-based aggregation schemes.
9. Очень гибкая и расширяемая версия (мне не нужна).
10. Эта версия называется IPFIX 🙂
Как видим, 5-й версии вполне достаточно для повседневного использования в обстановке, не предъявляющей особых требований к сбору трафика. Анализаторы netflow потоков имеют возможность присваивать трафик определенным интерфейсам. Как это происходит? Желательно вспомнить структуру netflow пакета 5ой версии 🙂 шутка. Просто посмотрите на нее ниже:

0-3, srcaddr, Source IP address
4-7, dstaddr, Destination IP address
8-11, nexthop, IP address of next hop router
12-13, input, SNMP index of input interface
14-15, output, SNMP index of output interface
16-19, dPkts, Packets in the flow
20-23, dOctets, Total number of Layer 3 bytes in the packets of the flow
24-27, First, SysUptime at start of flow
28-31, Last, SysUptime at the time the last packet of the flow was received
32-33, srcport, TCP/UDP source port number or equivalent
34-35, dstport, TCP/UDP destination port number or equivalent
36, pad1, Unused (zero) bytes
37, tcp_flags, Cumulative OR of TCP flags
38, prot, IP protocol type - например TCP=6, UDP=17
39, tos, IP type of service (ToS)
40-41, src_as, Autonomous system number of the source, either origin or peer
42-43, dst_as, Autonomous system number of the destination, either origin or peer
44, src_mask, Source address prefix mask bits
45, dst_mask, Destination address prefix mask bits
46-47, pad2, Unused (zero) bytes

Не пугайтесь, обратите внимание на поле 12-13 — SNMP index of input interface. Поле с номером интерфейса, который получил этот поток. Многие сенсоры не умеют работать с этим полем. А как же быть, если интерфейс в режиме приема любых пакетов. Получил откуда? Передал куда? Бардак, но некоторые пытаются бороться. Netflow Analyser при получении netflow-потока без этого поля вообще скажет, что информация о трафике получена, но интерфейсов для мониторинга нет. IMHO interface SNMP-index support — очень полезная вещь.

netflow — cобери и выиграй

Собирают с интерфейсов трафик у нас многочисленные сенсоры. Ну на маршрутизаторах Cisco они уже внутри, а вот для отдельно
стоящих/лежащих/висящих (в стойке, конечно же) машин их нужно ставить отдельно. Список некоторых сенсоров, позволяющих экспортировать трафик в netflow:

Сенсор, обладающие всеми особенностями программы, основанной на libpcap. Может быть скомпилирован под любой POSIX-совместимой ОС (Linux/BSD/UNIX- like). Умеет экспортировать потоки Netflow 1/5/7 версии сразу нескольким коллекторам. Можно настроить SNMP-индексы входящих/исходящих интерфейсов, используя фильтр.

fprobe -x1:2 -ieth1 -f"ip&&dst net 10.2" localhost:2055

На примере команда запуска сенсора. Пример показывает, что трафик принимается на интерфейсе с индексом 1 и отдается на интерфейс с индексом 2. Соответственно, трафик прослушивается на интерфейсе eth1 и выбирается только IP-трафик с сетью назначения 10.2. Поток экспортируется на localhost:2055. Вот развлечение, да?

Сенсор, работающий с ULOG-целью Netfilter. Может быть скомпилирован, ясное дело, только под Linux. Умеет экспортировать потоки Netflow 1/5/7 версии сразу нескольким коллекторам. Потеря пакетов исключена, загрузка системы минимальна. Благодаря тому, что ULOG передает, с какого и на какой интерфейс идет трафик, есть поддержка автоматического назначения SNMP индексов входящих/исходящих интерфейсов. Имеется возможность переназначения индексов. Очень приятная вещь.

Сенсор от создателей ntop. Работает, как заверяют, под любой *NIX/Win OC. Экспортирует netflow v5/v9/IPFIX. Создатели хотят получить маленькое пожертвование, что-то около 100 евро, перед тем, как вы сможете его скачать.

Сенсор для FreeBSD, использующий систему сетевых графов. Так как все реализовано на уровне ядра, то с одной стороны все очень быстро, а с другой — любые изменения лучше производить только в тестовой конфигурации. Ошибок не прощает, и это правильно. Субъективное мнение — хорошо держит нагрузки. Меня поначалу смущала версия 0.2.5, но после того, как модуль прошел все тесты и отработал неделю в окружении, максимально приближенном к боевому, я взял на себя ответственность установить его на продакшн-сервер. Не жалею, сделал правильно. Как заявляют создатели, ng_netflow заполняет все поля в netflow-пакете, которые можно заполнить. С SNMP-индексами интерфейсов работает на ура. Возможна переиндексация. Экспортирует netflow версии v5.

Сенсор использует libpcap для получения информации. Экспортирует netflow версии 1/5/9. Разрабатывался для Linux и OpenBSD. Есть
экспериментальная поддержка солярки. На FreeBSD тоже без проблем должен заработать. Поддержки SNMP indexes нет.

Сенсор для OpenBSD, использующий для сбора потоков pfsync. Умеет экспортировать Netflow версий v1/v5. Из плюсов — скорость работы. Из недостатков — не держит потоки более 4G, не считаются заблокированные пакеты и пакеты, сгенерированные ОС типа TCP RSTs, ICMP unreachables и TCP handshakes. О SNMP-индексах можно забыть. Для общего анализа самое оно — на выходе как раз усредненный результат.

Сенсор, если можно так выразиться, собирается под большинством POSIX-платформ (Linux/BSD/Solaris x86/UNIX-like OC). Для сбора статистики могут использоваться raw BPF-девайсы, libpcap, divert, tee или Linux netwilter/iptables ULOG/IPQ. Обладает многочисленными возможностями, которые позволяют произвести очень гибкую настройку. Поддерживает экспорт Netflow v1/v5. Недостаток один, но очень для меня серьезный — в экспортируемом потоке проставляет только input interface SNMP index.

Сенсор от наших доблестных комрадов из NetUP. Работает под 32-битными MS Windows (NT/2000/XP), любыми BSD-платформами
(FreeBSD/NetBSD/OpenBSD/Apple Mac OS X), всеми POSIX-платформами. Для сбора трафика использует libpcap со всеми вытекающими. Поддерживает экспорт Netflow v5. Судя по исходникам, должен проставлять input interface SNMP index, про output interface SNMP index можно забыть.
netflow — анализируй это

Все коллекторы netflow-потоков можно разделить на две основные группы — анализаторы сетевого трафика и системы учета. Анализаторы сетевого трафика могут включать модули учета. Системы учета могут включать модули анализа. На мой субъективный взгляд достаточно ясно видно, чему именно разработчики уделяли особое внимание.

Я не пытаюсь рассмотреть здесь все системы, так как это довольно неблагодарное занятие. Ниже представлены только те продукты, которые вызвали у меня положительные эмоции. Объясню почему. Дело в том, что написать за пару часов UDP-сервер, который будет складывать netflow-потоки в SQL, а затем скармливать оттуда данные для построения графиков с помощью RRDtool — занятие для меня скорее нудное, чем трудное. Потратить те же пару часов (а может быть и больше, так как имеем дело с чужим кодом) на разбор аналогичных изделий желания тем более не возникает. Так что я рассматривал только то, что выглядит приличнее, чем набор утилит. Если вы хотите найти более полную информацию о коллекторах netflow, то я посоветовал бы вам использовать поиск в том же Google.

Разработка «The Norwegian research network». Звучит уже интересно. Позволяет собирать netflow-, SNMP-статистику, следить за серверами с помощью ICMP (ping). Подерживает генерацию следующих NetFlow-отчетов:
— распределение трафика по интерфейсам;
— распределение трафика по IP-протоколам;
— распределение трафика по IP типам сервиса (ToS);
— распределение трафика по IP-адресам источника;
— распределение трафика по IP-адресам получателя;
— матрица IP-адрес источника/получателя;
— AS – источники;
— AS – получатели;
— матрица AS источника/получателя;
— multicast-группы;
— multicast-источники;
— multicast AS источники;
— общая статистика multicast-трафика;
— распределение портов источников на транспортном уровне;
— распределение портов получателей на транспортном уровне;
— сводный отчет.

По сути Stager — это ПО, использующее для сбора трафика flow-tools и perl. Данные хранятся в PostgreSQL, а веб интерфейс использует PHP и Apache.
Вообщем-то, добавить здесь больше нечего.

Для большинства читателей этот продукт в представлениях не нуждается, однако. В двух словах — это очень мощный анализатор со встроенным веб-сервером. Список его возможностей вполне может превысить размер этой статьи. Ntop содержит NetFlow-плагин, который позволяет управлять netflow-данными. Каждая запись netflow-коллектора выглядит в Ntop как отдельный сетевой интерфейс. Очень удобно.

ManageEngine NetFlow Analyser

Платный продукт. Я его решил упомянуть из-за наикрасивейших отчетов (в самом прямом смысле). На большинство людей, далеких от сетевых реалий, распечатанный отчет NetFlow Analyser действует как гипнотический амулет. Им можно вручить этот отчет и все — о человеке можно забыть. Большие минусы – это, конечно же, цена и ресурсоемкость. Еще один минус — очень сильная агрегация. Если вы забыли создать фильтр на определенный вид трафика, то вряд ли вам удастся получить необходимые данные задним числом.

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

NeTAMS (Network Traffic Accounting and Monitoring Software)
Приятная система учета. Цитата с сайта: многофункциональная программа по учету и управлению IP-трафиком для маршрутизаторов Cisco или компьютеров под управлением Unix (Linux/FreeBSD/Solaris). Поддерживаются различные методы сбора статистики (tee/divert/ip_queue/ulog/libpcap/netflow v5 и v9/netgraph), хранения в базе данных (BerkleyDB/MySQL/PostgresSQL/Oracle/Radius), агрегирования, отображения, оповещения и пр. Возможно проводить блокировку на базе квот, авторизации, исчерпании баланса (биллинг); управлять полосой пропускания, контролировать подмену MAC-адреса, делать связь с RADIUS, создавать гибкие политики учета и фильтрации.

Как тут с управлением трафиком не знаю, а вот с учетом все ОК, за исключением двух неприятных, но для меня не смертельных моментов — учитывается только IP и производные протоколы и в статистике при импорте netflow не работает разделение на входящий/исходящий трафик, поэтому необходимо писать правила для разделения на in/out.

Вот и все, больше ничего интересного обнаружено не было. Разве что Traffic Accounting Project — изначально разрабатывался на ASM под GPL, сейчас переписан на C с лицензией «for personal use only». Мне интересно, ну нафига оно такое нужно?

Сетевые решения. Статья была опубликована в номере 11 за 2005 год в рубрике технологии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *