キャプチャ取得後、特定のフィルターで再保存したい場合があります。
Wiresharkでも可能なのですが、大容量のキャプチャファイルの場合はWiresharkが
固まる場合がありそのときにはtsharkのほうが有用です。
スポンサーリンク
★キャプチャ編集に使うtsharkの引数
-r <filename> : 読み込むファイルを指定
-Y <filter> : Wireshark形式でフィルターを指定
-w <filename> : 編集後のキャプチャファイルの保存先を指定
(使用例)
>”C:\Program Files\Wireshark\tshark.exe” -r C:\temp\test.pcap -Y “tcp.port==80” -w C:\temp\test2.pcap
上記のコマンドでは、
・test.pcapを読み込み
・TCPポートが80のパケットに絞り込み
・test2.pcapで保存
となります。
ちなみにWireshark形式のフィルターをかけるときには「-R」だと思っていた
のですが、実行すると以下のエラーが表示されました。
tshark: -R without -2 is deprecated. For single-pass filtering use -Y.
詳細は分からなかったのですが、以下のように「-R」を使用する場合は「-2」も
付加しないといけないらしいです。
>”C:\Program Files\Wireshark\tshark.exe” -r C:\temp\test.pcap -R “tcp.port==80” -2 -w C:\temp\test2.pcap
スポンサーリンク
ピンバック: tsharkの使い方 – ネットワークスペシャリストのたまご
tsharkの -R オプションについて。英和翻訳(English-Japanese)だけだと”意訳”し切れないなと感じ、単語意訳や英英翻訳(English-Englih)の情報も駆使し、私なりに意訳し直してみました。(“意訳”やのうて”飛躍”になってしまっていたら、すみません..。)
tshark の man page ( https://www.wireshark.org/docs/man-pages/tshark.html ) にて、”For regular filtering”(=通常のフィルタリングの為)と称されている -Y オプションが「全パケットをフィルタリング対象」として実行されるのに対し、-R
オプションは、まず1つ目(first pass)である -R で指定したフィルタ内容で引っ掛かったリクエスト(要求)パケットで絞り込み、それが有った場合にのみ、続けてその「リクエストパケットに対応したレスポンス(応答)パケットのみ対象」に、2つ目(future pass)である -2 で指定したフィルタ内容で更なる(=2重の)絞り込みが実行される様です。
上記の理由から、-R を単体で使うと、下記のエラーメッセージが返される様です。
tshark: -R without -2 is deprecated. For single-pass filtering use -Y.
【意訳】
-2 無しの -R は推奨されない(=サポートされない)〔-R は -2 と一緒に使う〕。シングルなフィルタリングの為には、-Y を使いなさい。