计算一个tcpdump文件中的stream的数量

我有一个很大的tcpdump文件,我需要根据(源IP +源端口,目标IP +目标端口)对来识别捕获中的stream量数量。 tcpdump /任何其他工具是否提供了直接获取这些数据的方法? /关于如何优化我的分析器执行此操作的任何提示? 任何帮助/线索非常赞赏。 谢谢。

尝试这样的事情:

tcpdump -r capturefile.dmp | awk '{ print $3 " " $5 "\n" }' | sort | uniq | wc -l 

假设您的tcpdump生成与我的输出相同的输出,那么awk命令将打印源IP +端口和目标IP +端口(后面跟冒号,在这种情况下不相关),如下所示:

 zangetsu.smcc.loc.56256 scfire-a28.websys.aol.com.http: 

由于已build立的连接将再次使用相同的端口号,因此可以用sort | uniq这些重复的行 sort | uniq ; wc -l统计线路。 因为IP是双向的,所以你必须把这个数字除以2,当发送数据包时它将反转源/目的地。

你可能想要过滤掉UDP和ICMP的不需要的数据包,以及tcpdumpfilter和其他与grep东西sorting之前。