我有一个很大的 tcpdump 文件,我需要解析它以根据(源 ip + 源端口、目标 ip + 目标端口)对识别捕获中的流量数量。tcpdump / 任何其他工具是否提供任何直接获取此类数据的方法?/ 有关如何优化我的解析器以执行此操作的提示?任何帮助/线索都非常感谢。谢谢。
答案1
尝试这样的操作:
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:
由于已建立的连接将再次使用相同的端口号,因此您可以使用sort | uniq
;来折叠这些重复的wc -l
行。您必须将此数字除以 2,因为 IP 是双向的,并且在发回数据包时会反转源/目标。
您可能希望使用 tcpdump 过滤器过滤掉不需要的 UDP 和 ICMP 数据包等,并使用grep
之前排序过滤其他内容。