我正在使用jnca库来收集路由器发送的NetFlow记录。路由器发送的NetFlow记录的版本为版本9。
从Wireshark观察到NetFlow数据包时,模板ID为263的流集包含有关发起者八位字节和响应者八位字节的数据,这些数据可用于确定与流关联的字节数。
java - Netflow记录无法获取八位字节(jnca)-LMLPHP

但是问题是jcna无法获得这些值。对于八位位组,它始终显示为零。

currOffset = t.getTypeOffset(FieldDefinition.InBYTES_32);
currLen = t.getTypeLen(FieldDefinition.InBYTES_32);
if (currOffset >= 0 && currLen > 0) {
    dOctets = Util.to_number(buf, off + currOffset, currLen) * t.getSamplingRate();
}
这是用于获取dOctets的代码段。即使对于模板ID 263,也返回零。
但是,当根据NetFlow模板ID 263计算得出时,它会给出正确的数据。 (给定发起者八位字节并获取响应者八位字节46应该替换为50,因为特定记录的长度为4字节)
dOctets = Util.to_number(buf, off + 46, 4)
46是Initiator Octets记录位于该特定NetFlow数据包中的位置(使用Wireshark记录获取)。
jnca有问题吗?希望熟悉jcna的人可以在此方面给我一些帮助。

最佳答案

从NetFlow版本9记录中检索网络使用情况信息

Netflow是Cisco路由器上引入的一项功能,它具有在进入或退出接口(interface)时收集IP网络流量的功能。通过分析Netflow提供的数据,网络管理员可以确定流量的来源和目的地,服务等级以及拥塞原因。 Netflow由三个组件组成:流缓存,流收集器和数据分析器。在Netflow中,路由器将网络使用情况的详细信息作为UDP数据包转发到目标的指定端口。

Java NetFlow Collect-Analyzer

More Info

10-02 06:53