tcpdump
数日間キャプチャされたパケットを含むファイルがあります。このファイルで特定の期間(わずか数時間)にキャプチャされたパケットを表示したいと思います。
私はこれを使用してtcpdump -r
ファイルからパケットを読み取ることができることを知っています。プロトコルやポート番号によるフィルタリングなど、一般的なフィルタの両方を使用できます。また、-c
パケットの出力数を制限するために使用できる方法も知っています。ただし、これにより最初から一部のパケットをスキップすることはできません。
興味のある時間範囲内で使用できますが、tcpdump -tttt
最終的grep
には新しい(より小さい)ファイルにパケットを書きたいのですが、-w
これはgrep
役に立ちません。
tcpdump
特定の時間間隔のパケットのみが含まれることを示す方法はありますか?
答え1
editcap
時間範囲でpcapファイルをフィルタリングできる(wiresharkシリーズの一部)というコマンドラインツールがあります。 StackOverflowのこの質問に対する回答には、より多くの情報があります。
https://stackoverflow.com/questions/19952991/filter-a-pcap-dump-file-for-a-特異的-time-range#19955700
logdissect
tcpdumpターミナル出力をフィルタリングし、tcpdumpまたはjson(ソース/ターゲットホスト、プロトコル、日付スタンプなどのいくつかのデフォルトフィールドを含む)のターミナル出力形式で出力できるtcpdumpターミナル出力というツールもあります。残念ながら、pcapで出力することはできませんが、pcap出力が必要ない場合は、さまざまな基準でフィルタリングできます。 pip(Pythonのデフォルトのインストーラ)にあり、githubにインストール手順があります。
完全な公開のためにlogdissectを作成しました。私は一般的にここで私自身のプロジェクトに言及しませんが、この場合役に立ちます。