Задача: принимать поток netflow и передавать дальше только пакеты, соответствующие определенным условиям. Возможно решение с помощью пакета nfdump
Нам интересны три утилиты из этого пакета. Первая и главная - nfcapd - демон который будет принимать netflow-поток и сохранять его в файлы.
Важные аргументы:
- -l dirname - директория, где будем эти файлы хранить
- -t - интервал ротации файлов в секундах (по умолчанию - 600)
- -x команда (в кавычках), запускаемая после ротации каждого файла. Допустимы символы расширения. Практически важен %f - имя новосозданого файла.
- -R host/port - адрес для пересылки сдублированного потока - сама по себе интересная возможность, но нам нужна более сложная конфигурация - и мы будем возиться с предыдущей опцией. Для ее полезного использования нам нужны еще две команды из пакета:
- -r - файл, из которого читаем (т.е. созданный nfcapd)
- -w - файл, куда пишем netflow (- означает stdout). Если аргумент пропущен, получаем на выходе не netflow, а человеко-читаемый вывод. Полезно для тестирования.
- -f filename - имя файла, содержащего выражение фильтра (может быть разбито на несколько строк)
- -H - адрес, куда будем слать netflow
- -r filename - файл, содержащий пакеты для посылки (по умолчанию - stdin)
- -v [59] - версия netflow
nfdump -r $1 'src net my.ney.wo.rk/24' -w - | nfreplay -H my.nf.col.lector
rm $1
Перед тем, как подать на систему нагрузку, тестовые пакеты netflow можно создать с помощью ipcad
2 комментария:
добрый день. хотелось бы проконсультироваться по вопросу запуска nfcapd через rc.conf.
суть изложена тут http://forum.lissyara.su/viewtopic.php?f=53&t=33167&p=299577#p300088
Отправить комментарий