Ранее я уже рассказывал, как его трафик можно смотреть в режиме реального времени в Wireshark. Для этого его туда надо направить через Packet Sniffer и его возможность Streaming. Сегодня расскажу про более универсальный способ через отправку и анализ Netflow.
Допустим, вам надо быстро посмотреть, к каким DNS серверам у вас обращается оборудование в локальной сети. Для этого можно пытаться что-то разглядеть в IP ⇨ Firewall ⇨ Connections или в Torch сетевого интерфейса, но это неудобно.
Возьмём любую машину на базе Linux и поставим туда nfdump. Это консольная утилита для анализа NetFlow. В Debian/Ubuntu она есть в базовых репозитория:
# apt install nfdumpВ составе этого пакета также присутствует утилита nfcapd. Она работает в роли netflow collector, собирает и хранит данные о трафике, а nfdump в консоли анализирует. Так что запускаем сначала сборщик:
# nfcapd -z -l /mnt/mikrotik -t 60 -p 23456-z - сжимать данные
-l - директория, где храним дампы
-t - каждые 60 секунд записываем данные в файл
-p - сборщик работает на порту UDP 23456
-D - этот ключ запустит сборщика в режиме службы
Теперь идём в Mikrotik, открываем раздел IP ⇨ Traffic Flow ⇨ Enables. Открываем здесь же раздел Targets и добавляем наш сборщик:
◽️Src. Address: IP адрес МИкротика
◽️Dst. Address: IP адрес сборщика
◽️Port: 23456
Остальные параметры оставляем по умолчанию. Сохраняем. Как только польются данные о трафике, на сборщике в директории
/mnt/mikrotik начнут появляться файлы вида nfcapd.202512250054 nfcapd.202512250056 и т.д. Они нам и нужны.Запускаем анализатор трафика nfdump:
# nfdump -R /mnt/mikrotikУвидим в консоли информацию по всему собранному трафику. Её может быть много. Тут простой и интуитивный синтаксис для поиска нужных данных. Выводим только DNS запросы:
# nfdump -R /mnt/mikrotik 'dst port 53'Можем агрегировать вывод для простоты восприятия. Объединим одинаковые потоки и отобразим только адрес источника и назначения:
# nfdump -R /mnt/mikrotik 'dst port 53' -A srcip,dstipМожем сузить поиск и дополнительно показать пакеты с конкретного IP адреса:
# nfdump -R /mnt/mikrotik 'src ip 192.168.137.10 and dst port 53' -A srcip,dstipТаким образом можно быстро находить какие-то проблемные хосты. Например, которые пытаются что-то отправить по 25-му во вне, хотя у вас локальный почтовый сервер или его вообще нет. Можно быстро найти тех, кто сознательно или нет пытается использовать какой-то внешний DNS сервер и т.д.
Вообще, nfdump и его инструменты - популярная и известная программа. Вокруг неё много различной обвязки для долгосрочного хранения и визуализации данных. Например, можно запустить сборщик для долгосрочного хранения:
# nfcapd -D -S 2 -w /mnt/netflow -p 23456Если у вас несколько шлюзов и вы хотите разделить их трафик, то можно сделать это через ключ -n, добавив название источника, его IP адрес и директорию, где будут храниться данные:
# nfcapd -z -t 60 -D -S 2 -p 23456 -n r01,192.168.137.1,/mnt/r01 -n r02,192.168.161.1,/mnt/r02В таком режиме он будет собирать данные и автоматически раскладывать их по директориям в формате %Y/%m/%d/%H, то есть year/month/day/hour. Потом можно легко вернуться к нужному интервалу и посмотреть трафик, проанализировать его каким-то софтом. Например, nfsen-ng.
Nfdump наиболее простой и дешёвый по ресурсам инструмент для работы с NetFlow. Подходит и для анализа в режиме реального времени, и для долгосрочного хранения.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX
#netflow #mikrotik #network


