0

我想过滤 pcap 文件中的前 100 个数据包并在标准输出上显示结果。为了过滤前 100 个数据包,我使用了以下命令:

editcap -r test.pcap output.pcap 1-100

为了进一步显示结果和过滤数据包,我想使用 tcpdump。

tcpdump -tttt tcp and host ip 192.168.1.1 -r inputfile.pcap

我想将editcap的输出重定向到tcpdump,如下所示:

editcap -r test.pcap - | tcpdump -tttt tcp and host ip 192.168.1.1 -r -

但在这个命令中,我无法过滤前 100 个数据包。有可能这样做吗?如果不是,是否可以将 editcap 的输出重定向到 RAM,然后从 RAM 读取 tcpdump?

先谢谢了。

PS 顺便说一句,我不想​​使用下面的命令,因为这个命令读取了文件里面的所有 Packet。我需要命令读取他 pcap 文件中的一些数据包,然后显示完成了这项工作。

tshark -r ~/test1.pcap  -R "frame.number<20 and frame.number>10"
4

1 回答 1

0

但在这个命令中,我无法过滤前 100 个数据包

即,您没有看到任何数据包?

尝试做

editcap -F pcap -r test.pcap - 1-100 | tcpdump -tttt tcp and host ip 192.168.1.1 -r -

因为editcap可能正在写出一个pcap-ng文件,并且在读取pcap-ng文件时某些版本的libpcap中存在一个错误,导致tcpdump中的过滤不起作用。

于 2015-08-03T18:16:27.243 回答