是否可以使用基于接口的 tshark 对 .pcap 文件应用读取过滤器?

Is it possible to apply a read filter on a .pcap file using tshark based on the interface?

我可以做类似的事情吗:

tshark -r filename.pcap -R -i wan0 ?

其中 filename.pcap 是正在分析的数据包捕获文件,wan0 是我需要应用过滤器的接口?

tcpdump 使用的普通 pcap 格式不包含有关捕获数据包的接口名称的信息。默认情况下,tshark 或 wireshark 使用的 pcapng 格式确实包含此信息。使用 pcapng 可以应用这样的显示过滤器:

tshark -r file.pcapng -Y 'frame.interface_name == "wan0"'

当然,这只有在 pcapng 文件包含在多个接口上捕获的数据包时才有意义。否则这个过滤器只会导致没有数据包或所有数据包。具体来说,它不会帮助捕获 any 伪接口,因为 pcapng 不会包含系统上各种接口的名称,而只会显示在单个 any 伪接口上捕获的所有数据包。