TkTopNetFlow

# Пакет TkTopNetFlow
v0.4

### Содержание

1. Введение
2. Термины
3. Архитектура
4. TkTopNetFlows
5. Flow-Server
6. Примеры, скриншоты
7. Ссылки
8. Часто_Задаваемые_Вопросы

1. Введение

   Пакет TkTopNetFlow предназначен для графического (в X Window) представления информации о сетевом IP трафике, проходящем через подконтрольные маршрутизаторы Cisco.

   Сервер представлений(Flow_Server.pl) - скрипт на Perl.
   Графический Интерфейс Пользователя(TkTopNetFlows.tcl, TkTopNetFlowsHist) - скрипты на Tcl/Tk.

   Программы разрабатывались и тестировались на платформе FreeBSD 4.9.
   Для корректной работы нужны дополнительные пакеты: tcl-8.4.4,1 tk-8.4.4,1 blt-2.4z Tktable-2.8 flow-tools-0.66_1, p5-Cflow-1.051 [ для отладки - ucd-snmp-5.0.6 ]

2. Термины

   NetFlow- | технология сбора статистических данных о транзитном траффике на маршрутизаторах Cisco.
   Поток- | (flow) Последовательность IP пакетов, проходящая через маршрутизатор, для которой уникальна совокупность параметров: протокол, адрес источника, адрес назначения, номера портов источника и назначения (для протоколов TCP\UDP), tos, флаги (tcp), для icmp - icmp_type & code,тд.тп. входящий и исходящий порт маршрутизатора.
   Представление (view) | способ отображения информации о трафике, на основе данных NetFlow. Для одного и того-же набора данных можно построить несколько разных представлений. Для представления можно указать фильтр потоков и способ классификации трафика.
   Класс (class) | Группа потоков, имеющих какие-то общие свойства. Например, при классификации трафика по автономным системам назначения, все потоки, направленные к одной и той-же автономной системе составляют класс.

3. Архитектура

   Имеем: Маршрутизатор (далее, для краткости, cisco), сервер сбора данных Monitor. Cisco настраивается так, чтобы она собирала статистику NetFlow, и передавала ее на сервер сбора данных Monitor. На сервере сбора данных постоянно работает программа flow-capture, которая принимает данные от cisco и записывает в файл на диск - так, что для каждого следующего интервала времени создается новый файл. На этом-же сервере запускается программа Flow_Server.pl. Программа работает сервисом, отслеживает появление новых файлов с данными, разбирает их и строит в памяти представления трафика. Кроме того этот сервис слушает TCP сокет, и ожидает подключения клиентской программы. При подключении клиента - асинхронно принимает от него команду, исполняет ее, и асинхронно отдает результат клиенту обратно. Диагностику пишет в syslog. Программу TkTopNetFlows.tcl можно запускать на любом компьютере, с которого по IP можно подключиться к серверу Monitor. TkTopNetFlows.tcl в конфигурационном файле указывается, какое представление нужно отображать. Программа периодически опрашивает Flow_Servep.pl, и отрисовывает данные для указанного представления. Можно запустить несколько TkTopNetFlows.tcl, каждый экземпляр со своим файлом конфигурации, и все они могут показывать разные представления. При помощи программы TkTopNetFlowHist.tcl можно посмотреть те-же представления, но не в реальном времени, а за произвольный предыдущий промежуток времени, для которого есть накопленные данные NetFlow.

4. Примеры, скриншоты

   - Пример конфигурации
   - Исходящий трафик, разложен по номерам AS назначения.
   - Исходящий трафик, разложен по потокам.

5. Ссылки

   Готовый package для FreeBSD 4.9 - TkTopNetFlows-0.4.tgz
   NetFlow: http://www.cisco.com/warp/public/cc/pd/iosw/prodlit/iosnf_ds.htm
   TCL/TK: http://www.scriptics.com/
   BLT-2.4z: http://sourceforge.net/projects/blt
   Tktable-2.8: http://sourceforge.net/projects/tktable
   man flow-tools
   man flow-capture
   perldoc Cflow
   man snmpwalk

Last change: