Windows TIPS
[Network]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

WFetchツールでWebサーバの応答を調査する

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2005/08/27
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
Web関連のトラブルシューティングやアプリケーション開発では、HTTPプロトコルの内容を調査したいことがある。
ネットワーク・モニタを使ってHTTPプロトコルをトレースしてもよいが、関係ない通信内容も表示されるので使いづらい。
IISのリソース・キットに含まれるWFetchツールを利用すると、Webサーバにコマンドを送り、その応答を表示させることができる。
 
解説

 WebサーバとWebクライアント(Webブラウザ)間の通信には、HTTPというプロトコルが利用されている。Webブラウザ関連のトラブルシューティングやWeb関連のアプリケーション開発などでは、このHTTPによる通信の内容を調査しなければならないことがある。

 このためには、例えば[管理ツール]にある[ネットワーク モニタ]を使えば通信内容の詳細を知ることができるが、これは非常にプリミティブなツールであり、HTTPとは関係ないパケットや、IPTCPレベルでのパケットなども表示されるので、使いやすいとはいえない。かといって、いちいちtelnetツールなどでHTTPのポート(デフォルトではTCPの80番ポート)へ接続して通信し、HTTPのコマンドを入力して、その結果を解析するのも容易ではない。

 このような場合には、HTTPプロトコルの解析を行う、専用のツールを利用するとよい。ツールにはいろいろなものがあるが、Windows向けではWFetch(wfetch.exe)というツールがマイクロソフトから提供されている。これはIISのリソース・キットに含まれるツールの1つであり、Windowsユーザーならば自由にダウンロードして利用できる。HTTPプロトコルの解析専用のツールであり、HTTPのGETやPOSTといったコマンドを指定して発行できるし、ユーザー認証やHTTPS、Proxyサーバ経由での通信機能などもテストすることができる。

WFetchツールのダウンロードとインストール

 Windows Server 2003やWindows XP Professionalのユーザーならば、以下のリソース・キットをダウンロードしてインストールする。

 リソース・キットに含まれるツール全体をインストールしてもよいし、WFetchツール(Ver.1.3)だけを選択してインストールしてもよい。

 Windows 2000の場合は、1つ古いバージョンのWFetchツールを以下の場所からダウンロードしてインストールする。

 ただしこの場合は、インストール先フォルダを自分で作成/指定する必要があるし、[スタート]メニューには何も登録されないので、wfetch.exeのショートカットを自分で作成して、メニューに登録するなどの作業が必要となる。


操作方法

 IISのリソース・キットをインストールすると、[スタート]メニューに[IIS Resources]−[WFetch]メニューが追加されるので、その中から[WFetch]を選択して起動する。WFetchツールを単体でインストールした場合は(Windows 2000の場合)、自分で指定したインストール・フォルダにあるwfetch.exeをダブルクリックして起動する。

WFetchの起動画面
WFetchツールは、さまざまなパラメータを設定したHTTPプロトコルの送信と、それに対するWebサーバからの応答を表示するツールである。Webサーバの設定が正しく行われ、それに対する応答がどのようになっているかをモニタすることができる。
  HTTPのコマンド(verb)の指定。GETやPUT、POST、DELETE、HEADなどを指定できる。
  接続先のホスト。FQDN名かIPアドレスで指定する。
  ポート番号。
  HTTPプロトコルのバージョン(1.0と1.1が指定できるが、変更することも可能)。
  コマンドに対するパラメータ。
  認証方法とアカウントの指定。
  接続方法。httpのほか、httpsやSSLなどを指定する。
  Proxyサーバを利用する場合の設定。
  これをクリックすると、コマンドが発行される。
  ヘッダなども含めた、詳細なトレースを取得するかどうかの設定。オフにするとHTTPのデータ部分のみが表示されるが、オンにするとヘッダも含めた詳細なデータが表示される。
  一度オープンしたコネクションを再使用するかどうかの設定。
  Webサーバに対するコマンドやパラメータをカスタマイズするか、すべて手動で指定したい場合に使用する。
  ここに通信結果が表示される。文字コードはShift JISのみにしか対応しておらず、ほかの文字コードの場合には文字化けする。

 ツールを起動すると、ウィンドウが1つ開かれた状態で表示される。このウィンドウは1コネクションごと(1つのホストに対する接続ごと)に1つずつ表示されるので、同時に複数のホスト(Webサーバ)に接続して、その動作をチェックすることができる。

 ウィンドウの上部には、Webサーバに送信するHTTPプロトコルのコマンド(GETやPOSTなど)や接続先ホスト名、接続のためのプロトコル(HTTP、HTTPSなど)、接続に使用するユーザー・アカウント(匿名接続、基本認証、NTLM認証など)、Proxy設定などを指定することができる。パラメータをセットしてから[Go !]ボタンをクリックすると、指定されたWebサーバへ接続し、コマンドの送信とそれに対する応答が表示される。設定により([File]−[Log settings]メニュー)、通信記録をすべてテキスト・ファイルへ書き出しておくこともできる。

 実際に接続した結果は次のようになる。

WFetchによるWebサーバへのアクセス例
WFetchを使ってhttp://www.microsoft.com/へアクセスしてみたところ。送信したコマンドとそれに対するWebサーバからの応答が表示されている。
  接続先。
  URLの指定。
  TCPレベルでの接続状態。接続先のIPアドレスとポート番号、ローカルのポート番号などが表示されている。
  送信したコマンドとパラメータ。「\r\n」は行末を表す文字コード。\r\nのみの行(空行)がコマンドの最後を表している。
  Webサーバからの応答のうち、ヘッダ部分には先頭に「H」というマークが付けられている。ヘッダ部の終了は\r\nのみの行で表す。
  ヘッダ部に続いてデータ部が置かれている。

 設定を変えることにより、Webサーバに対してさまざまなコマンドを送信したり、その結果を詳しく表示させたりできる。詳細についてはツールに付属のヘルプ・ファイルを参照していただきたい。End of Article

  関連リンク
  [HOWTO] Wfetch による HTTP 接続のトラブルシューティング方法(マイクロソフト サポート技術情報)
  IIS 6.0 Resource Kit Tools について(マイクロソフト サポート技術情報)
     
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間