我想将一些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
但第一个命令的输出生成零时间戳。
有什么想法吗?
答案 0 :(得分:4)
我看了一下flow-export文档,并且pcap实现存在一些公认的错误。不确定它们是否已修复。
根据您捕获的内容,您还有其他几种选择: 如果您从链接捕获直接流量并且想要将其转换为NetFlow格式,则可以下载一个免费的netflow导出工具,该工具在此处读取PCAP:
或在这里:
如果您捕获了传输中的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