HTTPサーバーとWeb開発

93. パケットキャプチャーソフト Wiresharkの使用方法

Wireshark とはネットワーク上に流れるパケットの収集・解析ができるツールである。
ではどのような場合にこのツールを使用するのか?
それはアプリケーションを開発し検証テストを行っているとき、次のようなエラー等で
どこが原因なのか?と頭を悩ませることがある。

上記のような障害の原因を調査するには、プログラムデータ操作環境 の観点から原因を探るのが
常であるが、もうひとつ [ ネットワーク = 通信 ] が障害の原因となりうることも多々ある。
そこで通信 ( パケット ) 内容を解析するために、通信パケット解析ツール「 Wireshark 」を
使用するのが非常に効果的であり、数多くのネットワーク・プロトコル ( TCP、IP、HTTP、FTP、SMTP 等 ) も
サポートしているので、筆者自身もここ最近、お世話になっているツールのひとつでもある。

Wireshark の入手方法 ( ダウンロード )、インストール方法については、インターネットに溢れるほど情報が
あるので、ここでは導入方法には触れず実際の使用方法から紹介します。

【 Wireshark 使用方法 】
  1. 導入後、Wireshark を起動します。( 下記のように TOP 画面が表示される。)

    Wireshark 起動直後TOP画面

  2. メニューバーにある [ Capture ]->[ Interface ] を選択すると、次のようなインターフェイスの選択画面が
    表示される。この画面で、パケットキャプチャを行う対象のネットワーク・インターフェイスを選択し、
    [ Start ]ボタンを押すとすぐにパケットキャプチャが開始される。

    Wireshark Interfaze 選択画面

  3. この状態のまま、上記のような障害の通信内容を解析・調査するために対象となる画面を動作させます。
    ここでは例として、EnterpriseServereStudio で作成した「商品マスターファイル」ページを
    リクエストしてみましょう!

    Wireshark QTR TOPページ1

  4. ブラウザですべてのコンテンツ情報の読み込みが完了したら [ Stop ] ボタンを押し
    キャプチャを終了させます。

    Wireshark QTR TOPページ2

  5. パケット一覧画面に TOP 画面の要求から読み込み完了までの通信パケットの内容がすべて表示されます。

    Wireshark QTR TOPページ3

  6. 一覧の中から通信パケットを選択し、右クリックで [ Follow TCP Stream ] を選択すると、実際に流れている
    通信内容が別ダイアログに表示されます。
    ( 赤色 : リクエスト内容 , 青色 : レスポンス内容 )

    Wireshark QTR TOPページ4

このようにネットワーク上で実際に流れている 通信内容 ( パケット ) を簡単に取得し解析する
ことができ、一例ではあるが冒頭で挙げたような問題を調査するのに非常に役立つものである。
まだ紹介しきれない Wireshark の機能は数多くあるが、まずツールに慣れることが重要である。
Webアプリケーション上での障害の原因が、プログラム、データ、操作、環境以外に、
通信も原因となりうるということを忘れずに!!