Wireshark とはネットワーク上に流れるパケットの収集・解析ができるツールである。
ではどのような場合にこのツールを使用するのか?
それはアプリケーションを開発し検証テストを行っているとき、次のようなエラー等で
どこが原因なのか?と頭を悩ませることがある。
ブラウザでコンテンツを読み込んだ時に外部ファイル ( JSファイル、CSSファイル etc ) で
読み込みエラーが発生する。
ブラウザより要求したコンテンツ ( 画像データ含む ) が正しく返されていないため、表示されない。
ブラウザからCGIプログラムへ正しくパラメーターが渡されていないため、CGIが正しく動作しない。
上記のような障害の原因を調査するには、プログラム、データ、操作、環境
の観点から原因を探るのが
常であるが、もうひとつ [ ネットワーク = 通信 ] が障害の原因となりうることも多々ある。
そこで通信 ( パケット ) 内容を解析するために、通信パケット解析ツール「 Wireshark 」を
使用するのが非常に効果的であり、数多くのネットワーク・プロトコル ( TCP、IP、HTTP、FTP、SMTP 等 ) も
サポートしているので、筆者自身もここ最近、お世話になっているツールのひとつでもある。
Wireshark の入手方法 ( ダウンロード )、インストール方法については、インターネットに溢れるほど情報が
あるので、ここでは導入方法には触れず実際の使用方法から紹介します。
導入後、Wireshark を起動します。( 下記のように TOP 画面が表示される。)
メニューバーにある [ Capture ]->[ Interface ] を選択すると、次のようなインターフェイスの選択画面が
表示される。この画面で、パケットキャプチャを行う対象のネットワーク・インターフェイスを選択し、
[ Start ]ボタンを押すとすぐにパケットキャプチャが開始される。
この状態のまま、上記のような障害の通信内容を解析・調査するために対象となる画面を動作させます。
ここでは例として、EnterpriseServer の eStudio で作成した「商品マスターファイル」ページを
リクエストしてみましょう!
ブラウザですべてのコンテンツ情報の読み込みが完了したら [ Stop ] ボタンを押し
キャプチャを終了させます。
パケット一覧画面に TOP 画面の要求から読み込み完了までの通信パケットの内容がすべて表示されます。
一覧の中から通信パケットを選択し、右クリックで [ Follow TCP Stream ] を選択すると、実際に流れている
通信内容が別ダイアログに表示されます。
( 赤色 : リクエスト内容 , 青色 : レスポンス内容 )
このようにネットワーク上で実際に流れている 通信内容 ( パケット ) を簡単に取得し解析する
ことができ、一例ではあるが冒頭で挙げたような問題を調査するのに非常に役立つものである。
まだ紹介しきれない Wireshark の機能は数多くあるが、まずツールに慣れることが重要である。
Webアプリケーション上での障害の原因が、プログラム、データ、操作、環境以外に、
通信も原因となりうるということを忘れずに!!