Netflow记录无法获取八位字节(jnca)

时间:2014-02-19 06:06:31

标签: java cisco netflow

我正在使用jnca库来收集路由器发送的NetFlow记录。路由器发送的NetFlow记录版本为版本9.

当从Wireshark观察到NetFlow数据包时,具有模板ID 263的流集包含有关发起者八位字节和响应者八位字节的数据,这些数据可用于确定与流相关联的字节数。 wireshark record

但问题是这些值无法通过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的人能给我一些帮助。

1 个答案:

答案 0 :(得分:1)

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

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

Java NetFlow Collect-Analyzer

More Info