0

我正在处理来自众多收集源的大量 pcap 文件。我需要以编程方式过滤,为此我使用 tshark,所以我首先使用 mergecap 将所有文件合并在一起。问题是我还需要仅在捕获文件名中可用的收集点信息。我尝试使用 editpcap 添加指定原始文件的每个数据包注释,但是这是站不住脚的(请参阅下面的解释)。任何想法如何在 pcap 文件合并后跟踪原始文件?

为什么editcap解决方案不起作用 我考虑在合并之前使用editcap在每个数据包上添加每个数据包的注释(如何在合并到单个文件之前为众多pcap文件中的所有数据包添加注释)但是这种方法的问题是editcap 要求在命令行上单独指定每个数据包注释(您不能指定数据包范围)。那是数十万条评论,命令行不支持它。此外,如果我尝试一次只用几条评论运行editpcap,它每次都会重写整个文件,导致数千次文件重写。也不可行。

4

1 回答 1

2

如果您的原始捕获文件是 .pcapng 格式,则每个文件都包含一个接口描述块或 IDB。当您运行合并它们时,您可以使用该选项mergecap指定不合并 IDB 。-I none这样,每个原始文件的接口编号将是唯一的,您可以添加一个显示该信息的列,以便通过接口 ID 轻松区分每个数据包的来源,或者您可以应用显示过滤器仅将这些数据包与特定的数据包隔离捕获文件。

要使用的过滤器或列是frame.interface_id字段,但如果这些字段值也都具有不同的值,您也可以按frame.interface_nameframe.interface_description进行过滤,但不能保证这些字段作为接口名称是唯一的和/或描述可能包含相同的信息,即使捕获文件来自不同的机器。

于 2020-06-24T00:49:24.940 回答