将PCAP跟踪转换为NetFlow格式

Reg*_*sor 9 linux network-programming traffic pcap netflow

我想将一些PCAP跟踪转换为Netflow格式,以便使用netflow工具进行进一步分析.有没有办法做到这一点?

具体来说,我想使用"flow-export"工具,以便从netflow跟踪中提取一些感兴趣的字段,如下所示:

$ flow-export -f2 -mUNIX_SECS,SYSUPTIME,DPKTS,DOCTETS < mynetflow.trace
Run Code Online (Sandbox Code Playgroud)

在这种情况下,通过使用以下命令转换PCAP文件来获取mynetflow.trace文件:

$ nfcapd -p 12345 -l ./ 

$ softflowd -n localhost:12345 -r mytrace.pcap
Run Code Online (Sandbox Code Playgroud)

这会生成一个netflow跟踪,但流量导出无法正确使用,因为它的格式不正确.我还尝试将以下命令的输出传递给flow-export,如下所示:

$ flow-import -V1 -z0 -f0 <mynetflow.trace | flow-export -f2 -mUNIX_SECS,SYSUPTIME,DPKTS,DOCTETS
Run Code Online (Sandbox Code Playgroud)

但是第一个命令的输出生成了零时间戳.

有任何想法吗?

Vin*_*erk 4

我查看了流导出文档,发现 pcap 实现存在一些公认的错误。不确定它们是否已修复。

根据捕获的内容,您还有其他几个选项: 如果您从链接捕获直接流量并且希望将其转换为 NetFlow 格式,您可以下载一个免费的 Netflow 导出工具,该工具可在此处读取 PCAP:

FlowTraq 免费导出器

或在这里:

纳米探针

如果您捕获了传输中的 NetFlow 流量(例如 UDP/2055),那么您可以使用“tcpreplay”之类的工具重播它,该工具在任何 Linux 发行版中都可用。