Назад | Перейти на главную страницу

Конвертер netflow в syslog

Есть ли способ преобразовать netflow v9 в syslog?

Как лучше всего реализовать следующую идею?

Процедура:

1) Маршрутизатор отправляет UDP со следующей структурой:

templateId=259: id=259, fields=11
    field id=8 (ipv4 source address), offset=0, len=4
    field id=225 (natInsideGlobalAddress), offset=4, len=4
    field id=12 (ipv4 destination address), offset=8, len=4
    field id=226 (natOutsideGlobalAddress), offset=12, len=4
    field id=7 (transport source-port), offset=16, len=2
    field id=227 (postNAPTSourceTransportPort), offset=18, len=2
    field id=11 (transport destination-port), offset=20, len=2
    field id=228 (postNAPTDestinationTransportPort), offset=22, len=2
    field id=234 (ingressVRFID), offset=24, len=4
    field id=4 (ip protocol), offset=28, len=1
    field id=230 (natEvent), offset=29, len=1

2) Внутри каждого UDP-пакета есть файл (да, файл внутри каждого UDP-пакета), а также некоторые важные поля, такие как отметка времени и счетчик (количество потоковых наборов внутри пакета)

3) Внутри каждого набора потоков указаны идентификатор, длина и последовательность потоков (с использованием шаблона, показанного выше).

Общая идея состоит в том, чтобы иметь двоичный файл (производительность является обязательным, поэтому, вероятно, двоичный файл C, многопоточный), который прослушивает трафик UDP и отправляет вывод как системный журнал на сервер, который позаботится о записи их на диск. (запись на диск может производиться самим конвертером netflow, если есть возможность читать из записанных журналов).

Есть идеи, как этого добиться?

Спасибо.

Марк

Если я правильно понимаю, вы хотите отслеживать поток NetFlow для сеансов, соответствующих определенному шаблону, а затем отправлять заранее подготовленное событие системного журнала с подробностями? Я не знаю ни одного инструмента, который бы делал это, но я знаю две возможности:

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

  2. Приобретение готового сборщика NetFlow с функцией оповещения. Точные детали настройки варьируются от продукта к продукту, но в целом вы будете устанавливать строгий фильтр и устанавливать очень низкий порог, чтобы вы получали предупреждение (которое обычно является событием системного журнала) для каждого сеанса. Накладные расходы на остальную часть продукта потенциально снизят скорость, а коммерческие продукты будут иметь определенную стоимость, но их, вероятно, будет проще развернуть. (полное раскрытие: я работаю в компании, которая продает коллектор NetFlow)