0

pcap ファイル内の最初の 100 パケットをフィルタリングし、結果を stdout に表示します。最初の 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 にリダイレクトしてから、tcpdump を RAM から読み取ることができますか??

ありがとうございます。

PS ちなみに、このコマンドはファイル内のすべてのパケットを読み取るため、以下のコマンドは使用したくありません。コマンドが 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 ファイルを書き出す可能性があり、libpcap の一部のバージョンには、tcpdump でのフィルタリングが機能しない原因となる pcap-ng ファイルの読み取り時のバグがあります。

于 2015-08-03T18:16:27.243 に答える