Неверный идентификатор поля в netflow v9
Анализируя Netflow V9, я могу правильно получить большинство идентификаторов полей и их значения, как это определено в
http://www.iana.org/assignments/ipfix/ipfix.xml
но я получаю 40000,40001, 40002, ... вместо 224, 225, 226, ... для полей NAT, однако значения для каждого поля, которые я получил, верны.
Я уверен, что идентификатор и значение всех полей получены правильно. Я не знаю, в чем реальная проблема. Я попытался с преобразованием хоста в сетевой байт и наоборот, используя
field_type = socket.ntohs(struct.unpack('H', template_data[a:b])[0])
PS Я использовал маршрутизатор Cisco для netflow v9.
1 ответ
Cisco не использует IPFIX, но NetFlow v9. Хотя IPFIX является производным от спецификации Cisco NetFlow v9, существуют некоторые различия. Одним из них является то, что IPFIX позволяет использовать пространства имен для каждого поставщика в номерах типов полей с помощью PrivateEnterpriseNumber.NETFlow v9 не имеет такой возможности, поэтому поставщики должны произвольно выбирать диапазон чисел, чтобы сообщить о своих настраиваемых полях, и надеяться, что никто другой не выберет такой же диапазон. В этом случае, я предполагаю, что вы получаете свои билеты NetFlow от Cisco ASA, который действительно использует ряд полей в диапазоне 40000-40005.
Существует документ под названием " Замечание по внедрению Cisco ASA серии 5500 для коллекторов NetFlow, 8.3", в котором описываются эти поля.