【问题标题】:Incorrect field id in netflow v9netflow v9 中的字段 ID 不正确
【发布时间】:2012-09-22 01:00:14
【问题描述】:

在分析 Netflow V9 时,我能够正确获取大部分字段 id 以及它们在

中定义的值

http://www.iana.org/assignments/ipfix/ipfix.xml

但是对于 NAT 文件,我得到 40000 ,40001, 40002, ... 而不是 224, 225, 226, ... 但是我检索到的每个字段的值都是正确的。

我确定所有字段的 id 和 value 都正确获取。 我不知道真正的问题是什么。我尝试使用

将主机转换为网络字节,反之亦然
field_type = socket.ntohs(struct.unpack('H', template_data[a:b])[0])

附:我在 netflow v9 中使用了 cisco 路由器。

【问题讨论】:

  • 除非您发布更多信息,说明为什么您认为 224、225、226 是正确的,而不是 40000、40001、40002,否则我们无法提供太多帮助。触发的数据包的数据包捕获netflow 导出以及导出值本身可以回答这个问题。
  • 虽然我怀疑这是有问题的,但请确保您以网络字节顺序解压缩值:'>H'。
  • @MikePennington Wireshark Inception 显示:DstPort:80,SrcAddr:192.168.15.217,SrcPort:52496,后 NAPT 源传输端口:16978,后 NAPT 目标传输端口:80,等等...但是我在分析自己时得到的是:destination_port:80 source_address:192.168.15.217 source_port:52496,Unknown_field_40003:16978,Unknown_filed_40004:80 ...其中40003和40004是我检索到的字段ID,但指向ipfix.xml的链接显示它应该有NAPT 端口为 227、228。 40000的字段ID也没有在netflow rfc中定义,但是每个获得的值都是正确的。
  • @MichaelFoukarakis 是的,我可以使用 '>H' 但这只能避免使用 socket.ntohs 但是问题仍然存在。
  • @Zangetsu 是你解析 Netflow v9 开源的代码吗?

标签: python cisco netflow


【解决方案1】:

Cisco 不使用 IPFIX,而是使用 NetFlow v9。虽然 IPFIX 源自 Cisco 的 NetFlow v9 规范,但还是存在一些差异。其中之一是 IPFIX 允许使用 PrivateEnterpriseNumber 在字段类型编号中为每个供应商命名空间。 NetFlow v9 没有这样的设施,因此供应商必须任意选择一个数字范围来报告他们的自定义字段,并希望没有其他人选择相同的范围。在这种情况下,我猜您是从 Cisco ASA 获得 NetFlow 票证的,它确实使用了 40000-40005 范围内的多个字段。

有一个名为“Cisco ASA 5500 Series Implementation Note for NetFlow Collectors, 8.3”的文档描述了这些字段。

【讨论】:

  • 哦,是的!谢啦。我没有做错这样的解脱:)
猜你喜欢
  • 2019-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-02
  • 2019-12-13
  • 1970-01-01
  • 2017-05-22
相关资源
最近更新 更多