Asi*_*chi 168 java cisco netflow
我正在使用jnca库来收集路由器发送的NetFlow记录.路由器发送的NetFlow记录版本为9.
当从Wireshark观察NetFlow分组时,具有模板id 263的流集包含关于发起者八位字节和响应者八位字节的数据,其可用于确定与流相关联的字节数.

但问题是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();
}
Run Code Online (Sandbox Code Playgroud)
这是用于获取dOctets的代码段.即使对于模板ID 263,这也返回零.
但是当它根据NetFlow模板ID 263计算时,它会提供正确的数据.(给出启动器八位字节并获得响应者八位字节46应该用50替换,因为特定记录的长度是4字节)
dOctets = Util.to_number(buf, off + 46, 4)
Run Code Online (Sandbox Code Playgroud)
46是Initiator Octets记录位于特定NetFlow数据包的地方.(使用Wireshark记录.)
这是jnca的问题吗?希望有些熟悉jcna的人能给我一些帮助.
从 NetFlow 版本 9 记录中检索网络使用信息
Netflow 是 Cisco 路由器上引入的一项功能,能够在 IP 网络流量进入或退出接口时收集该流量。通过分析 Netflow 提供的数据,网络管理员可以确定流量的来源和目的地、服务类别以及拥塞原因等信息。Netflow由三个组件组成:流缓存、流收集器和数据分析器。在 Netflow 中,路由器将网络使用情况的详细信息作为 UDP 数据包转发到目的地的指定端口。