将PCAP跟踪转换为NetFlow格式

时间:2011-09-23 01:36:10

标签: linux network-programming pcap traffic netflow

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

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

$ flow-export -f2 -mUNIX_SECS,SYSUPTIME,DPKTS,DOCTETS < mynetflow.trace

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

$ nfcapd -p 12345 -l ./ 

$ softflowd -n localhost:12345 -r mytrace.pcap

这会产生一个netflow跟踪但流量导出无法正确使用,因为它的格式不正确。我还尝试将以下命令的输出通过管道传输,如下所示:

$ flow-import -V1 -z0 -f0 <mynetflow.trace | flow-export -f2 -mUNIX_SECS,SYSUPTIME,DPKTS,DOCTETS

但第一个命令的输出生成零时间戳。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

我看了一下flow-export文档,并且pcap实现存在一些公认的错误。不确定它们是否已修复。

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

FlowTraq Free Exporter

或在这里:

NProbe

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

答案 1 :(得分:0)

如果您使用的是Linux环境,则可以使用argus Linux软件包。只需使用argus或您发行版的程序包管理器安装apt,然后您就可以将其与Argus的ra客户端结合使用以获取binetflow格式。

以下是命令:

argus -F /mnt/argus.conf -r " +f+" -w - | ra -F /mnt/ra.conf -Z b -n >"+f.split(".")[0]+".binetflow