Hebikuzure's Tech Memo

2010年7月12日

Wireshark で http コンテンツをファイル化する

Filed under: Windows ツール — hebikuzure @ 9:02 AM

Wireshark は先日の「ネットワーク パケットを読む会(仮)」でも使ったように、手軽に利用できるネットワーク パケット キャプチャーとプロトコル アナライズのツールだが、その機能は非常に多く、またバージョン アップに併せて新機能が追加されている場合も多い。
そうした多彩な機能の中で、色々と役に立ちそうな機能の一つを紹介する。

トラブル シュートなどでネットワーク パケットを解析していて、http プロトコルでダウンロードされたコンテンツ (HTML ファイルやスクリプト、CSS、画像、また最近では JSON や XML など) の内容を確認したい場合がよくある。もちろん個々のパケットのエンティティを見れば生データとしてコンテンツの中身を見る事はできるが、HTML ならページとして、画像であれば目に見えるグラフィックとして、またスクリプトや CSS、JSON、XML などはエディタで開いて分かりやすい表示で見たいと思う事も少なくない。

以前のバージョンの Wireshark ではそうした場合、[Follow TCP Stream] の機能を使って TCP ストリーム (一つの TCP セッションのクライアント – サーバー間のやり取り) をテキスト表示させ、それを保存したりコピー&ペーストしてファイルにする方法を使った。HTML などのテキスト データはこの方法でも何とか取り出せる場合もあるが、日本語などのマルチバイト文字は正しく表示されないし、レスポンスが GZIP 圧縮されていると展開できない、さらに画像などのバイナリ データをここからファイル化するのは相当に面倒な作業になる。

これに対して最近のバージョンの Wireshark には HTTP レスポンスとしてサーバーから返されるコンテンツをファイルとしてエクスポートする機能が追加されている。この機能を使えば、ローカル (クライアント側) にダウンロードされるコンテンツはそのままの形でファイルとして取り出す事ができる。

この機能は次の手順で利用できる。

  1. Wireshrtak でコンテンツを再現したいネットワーク トラフィックをキャプチャーするか、あらかじめキャプチャーしたファイルを開く
  2. [File] メニューの [Export] をポイントし、[Objects] をポイントし、[HTTP] をクリックする
  3. 表示しているネットワーク キャプチャーに含まれる HTTP レスポンス内のオブジェクトが一覧表示される
    HTTP Object list
  4. ファイルとして取り出したいオブジェクトをクリックして選択する
    HTTP Object list
  5. [Save As] をクリックする
  6. 保存ダイアログが表示される (OS の共通ダイアログではなく Wireshark の独自ダイアログが表示される)
    保存ダイアログ
    保存場所を選択したい場合は [Browse for other folders] をクリックする。
    保存ダイアログ
  7. 適切な名前を付けて保存する
    (キャプチャーからファイル名が取得できる場合は、そのファイル名が既定値として入っている)
    保存ダイアログ

注意事項は、HTTP Object list には表示中のキャプチャーに含まれるすべてのオブジェクトが表示される事だ。Display Filter で表示するパケットを絞り込んでいてもそれは反映されないため、多数のオブジェクトをダウンロードしているようなキャプチャーの場合、多数のオブジェクトが表示される。HTTP Object list にはオブジェクトがダウンロードされたフレーム番号が表示されるので、あらかじめコンテンツがダウンロードされたフレームを確認しておくと簡単に見つけられる。

またフォレンジック目的などで悪意のある動作をする可能性のあるコンテンツを取り扱う場合、そのコンテンツ (スクリプトや実行ファイルなど) を実行したり開いたりしてしまうと危険なので、十分に注意が必要だ。(一般的にリアルタイム スキャンが有効なウイルス対策ソフトを使っていれば、そうしたコンテンツをファイルとして保存しようとした瞬間に警告してくれるか、保存をブロックしてくれる)

広告

コメントする »

まだコメントはありません。

RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com で無料サイトやブログを作成.

%d人のブロガーが「いいね」をつけました。