2

大きな pcap ファイルがあり、最初の 10 分間のトラフィックのみを含む新しい pcap を生成したいと考えています。でこれを行うことはできますtcpdumpか? オンラインで言及されているのを見ましたが、可能であればeditcap使用したいと思います。tcpdump

4

1 に答える 1

5

tcpdump;でこれを行うことができます。ただし、私が考えることができるeditcap唯一の実用的な方法は、 Wireshark (または) を使用して、キャプチャ ファイルに少なくとも 10 分のパケットのフレーム番号を最初に見つけることです。フレーム番号を取得したら、そのフレームまでのパケットのみを保存するために使用でき、出力ファイルを目的の 10 分間に効果的に制限します。方法は次のとおりです。tcpdumptsharktcpdump

まず、キャプチャ ファイルの開始から 10 分以上経過した最初のパケットを見つけます (ここでは で説明しますtsharkが、Wireshark も使用できます)。

tshark -r bigfile.pcap -Y "frame.time_relative <= 600.0"

表示された最後のパケットのフレーム番号に注意してください。(フレーム番号は、標準の列を想定して、各行の最初の番号ですtshark。)説明のために、フレーム番号を 21038 とします。

tcpdump次に、最初の 21038 フレームのみを新しいファイルに保存するために使用します。

tcpdump -r bigfile.pcap -c 21038 -w bigfile_first10min.pcap

ただしeditcap、Wireshark スイートが付属しているため、以下を使用して同等のことをはるかに簡単に実現できます。これにより、大きなキャプチャ ファイルが 10 分ごとにキャプチャ ファイルに分割されます (最後のものを除いて、それより短い場合があります)。

editcap -F pcap -i 600 bigfile.pcap bigfile_split10min.pcap

最初のファイルだけに関心がある場合は、残りのファイルは無視してください。

もちろん、@ madmax1 が指摘したように、上記のtsharkコマンドに簡単な変更を加えて、フィルターに一致するパケットを新しいファイルに書き込むこともできます。

tshark -r bigfile.pcap -Y "frame.time_relative <= 600.0" -w bigfile_first10min.pcap
于 2016-08-03T18:52:02.723 に答える