IPアドレスを192.168.1.1に設定したイントラネット用Webサーバーがある。そのサーバーをファイアウォールによって区切られたサーバー用セグメントに設置することにした。サーバー用セグメントは,クライアントからのアクセスがデフォルトで拒否されているので,ファイアウォールの設定を変えなければならない。そこで,設定変更をインテグレータの担当者に依頼した。設定後,クライアントからイントラネット用Webサーバーにアクセスできるようになったかを確認したいが,社内規定により,ソフトウエアを勝手にインストールすることができない。そこで,Windowsコマンドを使って確認することにした。どのコマンドを使うべきか。以下の選択肢から適切なものを一つ選びなさい。

[選択肢]
a. pathping -p 80 192.168.1.1
b. telnet 192.168.1.1 http
c. wget 192.168.1.1 80
d. netstat -a | findstr http
e. rsh 192.168.1.1 -n 80

[解説]
 正解は,選択肢bの「telnet 192.168.1.1 http」です。

 失敗すると,Windows XPの場合,下図のエラー・メッセージが表示されます(Windows 2000の場合表示されるメッセージは若干異なります)。

telnetによる到達確認

 成功すると,真っ黒な画面が表示されます。その後,Webサーバの設定が正しく行われていれば,「GET / HTTP/1.0 [Enter][Enter]」と入力することで,何らかの応答が表示されるはずです。

 telnetコマンドは通常,リモート・マシンのtelnetポート(TCPのポート23番)に接続して遠隔のマシンを操作するために使われますが,telnetコマンドの引数としてポート番号を指定することで,任意のTCPポートに接続することが可能です。Webサーバーの調査だけでなく,メール・サーバー(TCPのポート25を使用)など,他のサービスへのアクセス可否の確認にも使うことができます。

 選択肢bでは,引数に「http」を指定することでhttpポート,すなわちTCPのポート80番に接続しています。Webサーバーへの通信は,通常TCPのポート80番で行われます。「80」という数値で指定しても,「http」という名前で指定しても,どちらでも構いません。このポート番号と名前の対応は,Windowsであれば%SystemRoot%\system32\drivers\etc\servicesというファイルに,UNIX系OSであれば/etc/servicesファイルに記載されています。

 選択肢aのpathpingは,パケットの経路を調べるコマンドです。pathpingを使うとサーバーへの到達可否の確認はできますが,ポート単位で到達可否を調べることはできません。-pというオプションを使うと,送出するパケットの間隔を指定できます。

 選択肢cのwgetは,URLやIPアドレスを指定することで該当のWebページの内容を取得するツールです。Linuxではポピュラーなツールで,Windowsでもフリーで配布されていますが標準では搭載されていません。また「192.168.1.1 80」という引数の形式は不正です。このため,不正解です。

 選択肢dのnetstatコマンドは,自分のマシンで開いているポートの確認はできますが,サーバー側のポートに対するアクセス可否の確認はできません。

 選択肢eのrshコマンドは,リモート・マシン上でコマンドを実行するツールですので不適切です。

 なお,現実的には,今回のようなケースではWebブラウザのInternet Explorerで確認するのが手っ取り早いかもしれません。ただし,クライアントにインストールされているセキュリティ・ソフトやプロキシの設定によっては,実際にはアクセスが可能であるにも関わらず,Webブラウザからはアクセスできないといったケースもあるので,その点は注意が必要です。