我需要一个程序,它在使用pcap格式的捕获文件中打印数据包的数量.这个数字似乎在pcap标题中不可用(可能是因为它是在捕获开始之前写的)并且它似乎没有文件中的"页脚",并且包含此信息.
因此,我认为唯一的算法是遍历所有数据包并对它们求和.它在O(N)中,对于大的痕迹,很长.
我在这里发帖,看看有人有一个聪明的主意吗?
我用"C"标记,因为它是我目前使用的语言,但我相信这是一个与语言无关的问题.
pcaputils的作者罗伯特埃德蒙兹向我提到,在Wireshark软件包中已经有一个程序可以做我想要的,capinfos.它显示有关pcap文件的各种指示,包括它包含的数据包数.
阅读代码源,它似乎按顺序遍历整个文件.
确定文件中有多少个数据包的唯一方法是读取整个文件。实际上,文件头中没有数据包计数(因为该格式被设计为可一次性写入),并且实际上没有页脚。