Установка и настройка nprobe

Допустим мы установили ntopng как я описывал в этой статье — Установка и настройка ntopng
То есть выбрали необходимый пакет на http://packages.ntop.org/apt-stable/ и скачали его:

wget wget http://apt-stable.ntop.org/16.04/all/apt-ntop-stable.deb
sudo dpkg -i apt-ntop-stable.deb

Установим nprobe если он не установлен:

sudo apt-get clean all
sudo apt-get update
sudo apt-get install nprobe

Чтобы принимать NetFlow данные и передавать их на ntopng создадим файл (в редакторе nano клавиши CTRL+X для выхода, y/x для сохранения или отмены изменений):

sudo nano /etc/nprobe/nprobe-anyname.conf

Добавим в него:

--zmq="tcp://*:5556"
-3 2055
--flow-version 9
-n=none
-i=none

2055 — это порт на который нужно принимать NetFlow данные, а порт 5556 используется для их передачи к ntopng.
Смотрите мои статьи о настройке NetFlow на коммутаторах:
Настройка NetFlow на Cisco
sFlow на D-Link коммутаторах
Traffic Flow в Mikrotik

Теперь осталось открыть конфигурацию ntopng в текстовом редакторе:

sudo nano /etc/ntopng/ntopng.conf

И добавить в конце строку (тем самым добавим интерфейс nprobe для сбора статистики):

--interface="tcp://127.0.0.1:5556"

Осталось перезапустить ntopng чтобы применить изменения:

sudo service ntopng restart

Проверим все ли работает:

sudo netstat -tulpen | grep 2055
sudo netstat -tulpen | grep 5556
sudo /etc/init.d/nprobe status

Заметил что nprobe не всегда завершает работу после команды:

sudo /etc/init.d/nprobe stop

Поэтому, при необходимости его можно остановить например так:

sudo killall nprobe
sudo kill -9 PID

В бесплатной версии nprobe у меня отображалось сообщение:

NOTE: This is a DEMO version limited to 25000 flows export.

Полную версию можно приобрести на официальном сайте shop.ntop.org.

Смотрите также:
IPTables правила для nprobe

Настройка NetFlow на Cisco

Допустим у нас запущен коллектор как я писал в этой статье — Установка и использование flow-tools

Теперь подключимся к Cisco коммутатору, для теста я подключусь к Cisco Catalyst 6509-E.
Перейдем в режим конфигурирования:

enable
configure terminal

Включим NetFlow:

mls netflow

Укажем параметры NetFlow, адрес коллектора, порт и версию:

mls flow ip interface-full
mls nde sender version 5
ip flow-export version 5
ip flow-export destination 192.168.1.25 555
ip flow-cache timeout active 1

Допустим нужно собирать статистику с интерфейса vlan 995:

interface vlan 995
ip route-cache flow
exit

Готово, статистика должна отправляться на коллектор (через интерфейса vlan который находится ближе к коллектору (если их несколько), а не с которого собирается статистика, соответственно на коллекторе нужно правильно указать IP).

Чтобы отменить выполним команды:

interface vlan 995
no ip route-cache flow
exit

Пример просмотра времени старения записей:

show mls netflow aging
show mls netflow table-contention detailed

Можно также установить время старения MLS (по умолчанию 300 секунд), в диапазоне 32 — 4092 секунд:

show mls netflow aging
mls aging normal 300
mls aging {fast [threshold {1-128} | time {1-128}] | long 64-1920 | normal 32-4092}

Просмотр установленной маски:

show mls netflow flowmask

Просмотр собранной статистики:

show mls netflow ip nowrap

Установка и использование flow-tools

Flow-tools — набор утилит для отправки, сбора, обработки, анализа данных NetFlow.

Установим коллектор, который будет принимать статистику с сенсоров:

Читать далее «Установка и использование flow-tools»

Установка и использование softflowd

Softflowd — анализатор сетевого трафика NetFlow.

Установить в Ubuntu/Debian можно командой:

sudo apt-get install softflowd

После установки необходимо открыть его файл конфигурации, на примере в редакторе nano (Ctrl+X для выхода, y/n для сохранения или отмены изменений):

sudo nano /etc/default/softflowd

И указать параметры, например:

INTERFACE="any"
OPTIONS="-n 192.168.1.40:5556"

После изменений выполним перезапуск:

sudo /etc/init.d/softflowd restart

Посмотрим статистику softflowd:

softflowctl statistics

Если он не запущен, то будет ошибка:

ctl connect(«/var/run/softflowd.ctl») error: Connection refused

Отобразить информацию обо всех отслеживаемых потоках:

sudo softflowctl dump-flows

Информацию о softflowctl можно посмотреть командой:

man softflowctl

Опишу прочие опции запуска:
-n (указание узла сети и порта на котором будет работать softflowd)
-i (интерфейс на котором будет работать softflowd)
-r pcap_file (чтение информации из файла, а не сетевого интерфейса)
-p pidfile (альтернативное местоположение для хранения идентификатора процесса, стандартно /var/run/softflowd.pid)
-c ctlsock (альтернативное местоположение для сокета, стандартно /var/run/softflowd.ctl)
-m max_flows (максимальное количество потоков для одновременного отслеживания)
-6 (учитывать также IPv6 данные)
-D (режим отладки)
-T track_level (уровень отслеживания, может быть full, proto, ip)
-v netflow_version (версия netflow)

Установка и использование trafshow

trafshow — утилита для отображение статистики трафика проходящего через сетевые интерфейсы.

Так как утилита входит в набор Netdiag (Net-Diagnostics), то устанавливается все вместе.

Установить Netdiag и trafshow в Ubuntu/Debian можно следующей командой:

sudo apt-get install netdiag

В CentOS/RedHat/Fedora:

sudo yum install netdiag

Команда просмотра руководства:

man trafshow

Простой запуск:

sudo trafshow

Опишу возможные опции запуска:
-v (просмотр версии программы)
-n (не конвертировать адреса в DNS имена, и номера портов например 80 в http и т.д., в работающей программе опцию можно переключать клавишей N)
-a len (Суммирование потоков трафика с использованием префикса IP netmask len, в программе переключается клавишей A)
-с conf (использование альтернативной конфигурации цвета вместо стандартного /etc/trafshow)
-i name (указание сетевого интерфейса)
-s str (поиск элемента в списке и переход к нему)
-u port (прослушивание указанного UDP порта для Cisco Netflow, по умолчанию используется номер 9995, для отключение используйте 0)
-R refresh (интервал обновления, по умолчанию 2 секуны, в программе изменяется клавишей R)
-P purge (очистка устаревших записей после указанного времени, по умолчанию 10 секунд, в программе меняется клавишей P)
-F file (использование файла для фильтров)
expr (какие пакеты будут отображаться, если не задано, то все)

Открытие и анализ файлов созданных при помощи NetFlow

Приведу пример просмотра статистики:

cat ft-v05.2015-05-01.000759+0300 | flow-stat -f 10 -S 3 | less
cat ft-v05.2015-05-01.000759+0300 | flow-stat -n -p -w -f 26 -S 2 | less
flow-cat ft-v05.2017-12-07.170236+0200 | flow-print | less

Подсказки о flow-stat можно увидеть набрав команду:

man flow-stat

Приведу пример экспорта данных в другой формат (например в csv, который потом можно открыть в окнах любой удобной программой):

flow-cat ft-v05.2015-05-01.000759+0300 | flow-export -f 2 | less
flow-cat ft-v05.2015-05-01.000759+0300 | flow-export -f 2 > csv.csv

Вывести список только с указанным source адресом можно следующей командой:

flowdumper -se '"192.168.0.1" eq $srcip' ft-v05.2015-06-17.175701+0300

Экспортировать список только с указанным source адресом в файл можно например следующей командой:

flowdumper -se '"192.168.0.1" eq $srcip' ft-v05.2015-06-17.175701+0300 > file.txt

Пример экспорта из нескольких файлов:

flowdumper -se '"192.168.0.1" eq $srcip' /backup/flows/acct/first/2016/2016-01/ft-v05.2015-06-17* > /backup/result.txt

Смотрите также:
Установка и использование flow-tools

Настройка sFlow на D-Link коммутаторах

sFlow — протокол анализа трафика, можно сказать аналогичен NetFlow.

Включение/выключение sFlow на коммутаторе:

enable/disable sflow

Просмотр параметров:

show sflow
show sflow flow_sampler
show sflow counter_poller
show sflow analyzer_server

Добавление/изменение сервера анализатора sFlow:

create/config sflow analyzer_server 1-4 owner NAME timeout 1-2000000(sec)/infinite collectoraddress ADDRESS collectorport udp_PORT maxdatagramsize 300-1400

Пример удаления сервера анализатора sFlow:

delete sflow analyzer_server 1-4

Создание/изменение/удаление счетчиков опроса sFlow:

create/config sflow counter_poller ports NUMBER/all analyzer_server_id 1-4 interval disable/20-120(sec)
delete sflow counter_poller ports NUMBER/all

Создание/изменение/удаление портов выборки sFlow:

create/config sflow flow_sampler ports NUMBER/all analyzer_server_id (1-4) rate value 0-65535 tx_rate value 0-65535 maxheadersize value 18-256
delete sflow flow_sampler ports NUMBER/all

Приведу пример настройки:

enable sflow
create sflow analyzer_server 1 owner Linux collectoraddress 192.168.1.5 collectorport 6343
create sflow counter_poller ports 1 analyzer_server_id 1 interval 20
create sflow flow_sampler ports 1:1 analyzer_server_id 1 rate 1000 maxheadersize 128

Настройка и использование Traffic Flow в Mikrotik

Включение Traffic Flow на маршрутизаторе Mikrotik:

ip traffic-flow set enabled=yes cache-entries=4k set active-flow-timeout=30m inactive-flow-timeout=15s interfaces=all

Просмотр настроек:

ip traffic-flow print

Указание IP-адреса и порта компьютера, который будет принимать пакеты Traffic-Flow:

ip traffic-flow target add address=192.168.88.240:1234 disabled=no version=9 v9-template-refresh=20 v9-template-timeout=30m

или

ip traffic-flow target add address=192.168.88.240:1234 disabled=no version=5

Просмотр настроек:

ip traffic-flow target print

Для настройки через графический интерфейс настройки можно найти в меню IP -> Traffic Flow.

Для мониторинга под Windows можно установить программу ManageEngine NetFlow Analyzer, которая будет работать как сервер, принимать пакеты с указанного порта и формировать графики и статистику через web-сервер, которые можно открыть браузером.

Для мониторинга под Linux можно установить и настроить например flow-tools.