【发布时间】: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 开源的代码吗?