167

我正在使用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();
}

这是用于获取 dOctets 的代码段。即使对于模板 ID 263,这也会返回零。

但是,当它根据 NetFlow 模板 id 263 进行计算时,它会给出正确的数据。(给发起者八位字节并获得响应者八位字节 46 应替换为 50,因为特定记录的长度为 4 个字节)

dOctets = Util.to_number(buf, off + 46, 4)

46 是发起方八位字节记录在该特定 NetFlow 数据包中的位置。(使用 Wireshark 记录获得。)

jnca有问题吗?希望熟悉jcna的人能给我一些帮助。

4

1 回答 1

1

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

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

Java NetFlow 收集分析器

更多信息

于 2017-08-30T10:49:16.123 回答