私は使っています
Sudo tcpdump -A -s0 -ien0 port 80 | grep schemas-Microsoft >> ~/Downloads/convert.txt
tcpdump
がキャプチャすることになっているときに、インターネットを介して送信されているMicrosoftスキーマのxmlをキャプチャするには:(例)
<xml>
<sample>h</sample>
<samp2>j</sample>
</xml>
キャプチャするだけです:
<xml>
<sample>h</sample
<sam
そして、ファイルのどこかでランダムに停止します。これは何が原因ですか?
Wiresharkのドキュメントのガイダンスでは、次のコマンドを使用してパケットのコンテンツ全体をキャプチャすることを推奨しています。
$ tcpdump -i <interface> -s 65535 -w <some-file>
tcpdump
のmanページを見ると、そこのガイダンスは-s0
が同等であることを示唆しています:
-s
デフォルトの65535バイトではなく、各パケットからのsnaplenバイトのデータをスナーフします。制限されたスナップショットのために切り捨てられたパケットは、「[| proto]」で出力に示されます。ここで、protoは切り捨てが発生したプロトコルレベルの名前です。スナップショットを大きくすると、パケットの処理にかかる時間が長くなり、パケットバッファリングの量が減少することに注意してください。これにより、パケットが失われる可能性があります。 snaplenを、関心のあるプロトコル情報をキャプチャする最小の数に制限する必要があります。snaplenを0に設定すると、デフォルトの65535に設定され、最近の古いバージョンのtcpdumpとの下位互換性が維持されます。
主に、そのガイダンスの途中の文のために、一部のデータが失われているのではないかと思います。
スナップショットを大きくすると、パケットの処理にかかる時間が長くなり、パケットバッファリングの量が減少することに注意してください。これにより、パケットが失われる可能性があります。 snaplenは、関心のあるプロトコル情報をキャプチャする最小数に制限する必要があります。
これを行う方法を検索したところ、 他の人が示唆している 次のようなコマンドラインに気づきました。
$ tcpdump -nnXSs 0 'port 80'
/etc/services
での)サービス名を検索せずに、それぞれより高速でクリーンな出力が得られます。-nn
を追加してパフォーマンスが向上するかどうかを確認し、バッファリングされるデータを減らし、データのドロップを防ぐことができればと考えています。他のスイッチが役立つ場合がありますが、状況に応じてどのように役立つかは明確ではありません。