1

我在使用名为 netflow 的产品时遇到问题,该产品读取网络流数据。当我读取一些捕获的 netflow 数据时,网络流上的时间戳不是以毫秒为单位的。我在下面展示了一行数据;

Date flow start||Duration||Proto||Src IP Addr:Port||Dst IP Addr:Port||Packets||Bytes||Flows 1970-01-02 || 05:51:34.210 || 0.000 || TCP || 192.168.88.3:56457 -> 172.17.1.20:8080 || 2 || 82 || 1

如您所见,日期流开始和持续时间虽然被列出到小数点后三位,但仅计算为两位。这对于每个流都是相同的。

这可能是操作系统问题吗?我在 google 上看到该程序的图片可以精确到小数点后三位。我正在使用 Linux Mint,我的处理器是 Intel® Core™ i3 CPU M 370 @ 2.40GHz × 4

4

1 回答 1

1

在 nfdump 中,引导时间设置为前一天 - 假设每个流的开始时间不会提前开始

    boot_time = (uint64_t)(master_record->first - 86400)*1000;

并且使用的纪元是 000 UTC 1970,如链接到 netflow 数据包中所述

实际上是什么

日期流开始 = 1970-01-02 05:51:34.210

持续时间 = 0.000

这很好。

所以我想这描述了日期流程。

另外:行格式:-o line

这是默认格式,每行显示一个 netflow 记录:

Date flow start Duration Proto Src IP Addr:Port Dst IP Addr:Port Packets Bytes Flows

20012-08-30 06:59:52.338 0.001 UDP 36.249.80.226:3040 -> 92.98.219.116:1434 1 404 1

流的日期和持续时间以毫秒为单位给出。所以最多保留 3 位小数。

不,这不是操作系统问题。

PS nfdump 给出日期而不是毫秒的格式化输出。

于 2013-01-30T05:19:53.650 回答