仮想化技術の進化とクラウドサービスの普及で、遠隔地のサーバーとやりとりして業務をこなすというスタイルはすっかり定着した。家庭のインターネット接続も高速化し、常時接続して在宅勤務というのも珍しくなくなった。そうした環境でネットワーク担当者として困るのは、「つながらない」「レスポンスが悪い」といった苦情が来ても、社内サーバーを使う場合と違って、現地に行って目視で状況を確認することができないケースがあることだ。

 こんなとき、無償ですぐに使える有用なツールがある。OSが備えるネットワークコマンドだ。ネットワークコマンドを使えば、担当者は自席にいながら遠隔地にあるサーバーの状態を確認できる。ユーザーも、自分のパソコンの通信状況を調べられる。ネットワークを学んだ人にとっては昔から活用しているものだが、クラウド時代には、今まで以上に頼りになるツールである。

 そこでここでは、「遠隔地にあるサーバーの稼働状態を確認したい」と「勝手に通信している不審なソフトがいないかどうか調べたい」というときの二つのケースを想定し、クラウド時代のネットワークコマンド活用法を紹介したい。なお、紹介するネットワークコマンドの実行環境はWindows XPパソコンだ。特別な設定は必要ない。誰でも、いつでも試せる。ただし短時間に何度も実行すると、不正な攻撃ととられかねないので注意してほしい。また、会社のサーバーに試してみるときは、念のため担当者に連絡をしておくといいだろう。

遠隔地にあるサーバーの稼働状態を確認したい

 まずはネットワークコマンドを使うための準備から入ろう。Windows XPで「コマンド プロンプト」を起動する。Windowsのスタートメニューから「すべてのプログラム」→「アクセサリ」とたどり、「コマンド プロンプト」をクリックする。これで準備は完了だ。

 さて、リモートからサーバーの状況を確認するときはtelnetコマンドを使う。telnetコマンドを使うと、サーバー上でどんなサービスが起動しているかを見たり、ログを調べたり、設定を確認したりできる。

 こう書くと、「え、ログイン権限がないとダメなんじゃないの」と思われるかもしれない。確かにサーバー上のアプリケーションソフトを実行するといった遠隔操作をしたいときは、ID/パスワードを打ち込むなどしてログインする必要がある。ただし、サーバー上のサービス稼働状況を確認するだけなら、ログイン権限がなくても大丈夫。というのもtelnetコマンドは、ポート番号を指定することでどんなサーバーとでも汎用的にTCPで通信できるコマンドだからだ。このことはぜひ知っておきたい。

 実際に試してみる場合は、例えば「telnet 192.168.1.210 80」と打ち込み、Enterキーを押す。ここでは実行先のIPアドレスを「192.168.1.210」、ポート番号を「80」としたが、自身の環境に合わせて変えてほしい。

 実行して何も表示されない画面に切り替わったら成功だ(画面1)。telnetで接続したサーバー上で80番ポートに対応するサービスが稼働していると推測できる。逆に、「ホストへ接続できませんでした」や「接続に失敗しました」と表示されたら接続エラーが発生している。80番ポートに対応するサービスが稼働していない場合は、こうしたエラーメッセージが出る。

画面1●telnetコマンドの実行結果例。このように接続エラーにならず、コマンド待ち状態になれば、指定したポート番号に対応するサービスが稼働していると推測できる。
画面1●telnetコマンドの実行結果例
このように接続エラーにならず、コマンド待ち状態になれば、指定したポート番号に対応するサービスが稼働していると推測できる。
[画像のクリックで拡大表示]

 実はこの画面1は、コマンド待ちの状態である。そこで今度は、何もない画面に対して「head /sample.html http/1.1」と打ち込み、Enterキーを2回押す。入力した文字は表示されないが気にせず実行してみてほしい。一般的なWebサーバーソフトにはリモートエコー機能がないか、有効になっていないから、文字が表示されないのが普通だ。

 実行すると、画面2のように何かしらの情報が表示される。画面2の場合、sample.htmlファイルが存在しないことや、サーバーソフトとしてApacheを利用していることなどがわかる。Apacheについてはバージョンまでわかる。このようにtelnetコマンドはログイン権限がなくてもサーバー側サービスの稼働を確認できる便利なコマンドなのだ。ここではWebサーバーの例を紹介したが、メールサーバー(SMTPサーバー)の場合はポート番号を「25」と指定して同様に試してみることができる。

画面2●Webサーバーソフトの情報例。この画面表示から、sample.htmlファイルが存在しないことや、サーバーソフトとしてApacheを利用していることなどがわかる。
画面2●Webサーバーソフトの情報例
この画面表示から、sample.htmlファイルが存在しないことや、サーバーソフトとしてApacheを利用していることなどがわかる。
[画像のクリックで拡大表示]

 ちなみにWindows XP以外のWindows VistaやWindows 7の場合、初期設定ではtelnetコマンドが使えない。あらかじめ「Telnetクライアント」をインストールする必要があるので注意してほしい。