怖がらずに使ってみよう。必修ツール「コマンドプロンプト」


☆ 「コマンドプロンプト」って?

NT系の場合(XPも含む)は「コマンドプロンプト」、9x系の場合は「MS-DOSプロンプト」。スタートからアクセサリをたどっていくと、見つけることができます。GUIの画面の中に浮かぶCUIの窓です。Windowsの問診ツールはなぜかグラフィカルではなく、コマンドの世界で行われます。標準でインストールされているので、特に意識しなくてもいつでも誰でも使えます。窓の中の世界なので、コマンドちょっと苦手という人も抵抗なく使えるのではないでしょうか。但し、9x系とNT系との違いがあるようです。以下私の環境に合わせて以下「コマンドプロンプト」で書かせていただきます。面倒なので、デスクトップにショートカットを置いてつかっています。

☆ ところで、そもそも問診ツールって?

ネットワークにトラブル発生。こういう時どうしますか。パソコンやネットワークに限らずトラブル解決のためには、正確な状況把握と原因の切り分けが必要ではないでしょうか。切り分けが出来た時点でほぼ解決の目処ついているような気がします。とかく色々と設定をいじくってみたくなるものですが、これでは時間の浪費と傷を深めるばかり。まず落ち着いてデータ収集です。問診ツールはこのデータとりに活躍してくれます。最初はちょっと敬遠したくなるかもしれませんが、必須アイテム。間違って操作した場合、どうこうというような類(例えばレジストリエディタ)のツールではないので怖がらずに使ってみましょう。

☆ 通信できるかどうかテスト -ping(ピン、ピング)-

目的の通信機器に通信できないといった場合に使うのがこれ。ping IPアドレスまたはホスト名(DNSのテスト用?)。ICMPというプロトコルを使って目的の通信機器にパケットを送ってエコーを返すように要求するということだそうだ。もし、通信が成功しているなら、Reply from...と返事を返してきます。通信時間やロスしたパケットの割合などというデータも読み取れるようです。方法は簡単だけど応用次第で色々なトラブル解決に役立ってくれます。誰にでも用意されているツールですから「つながりません」と電話をもらった場合、ユーザに「まずこれこれのアドレス宛にping打ってみて」と(ま、聞いてきた人によりますけれどね。ある程度パソコン使える人ならすぐできる)その場で指示することのできる便利ツールでもあります。でもこれって手抜きでしょうか。ボランティア管理人に免じて許してもらおう。

☆ インターフェイスの状態を知る -ipconfig(アイピーコンフィグ)-

DHCPを使っている場合など、自分に割り当てられているIPアドレス、デフォルトゲートウェイ、等設定内容を知りたい場合に使うのがこれ。DHCPがらみのトラブルで、IPアドレスを開放、再取得したいというようなときにも活躍してくれます。もっとも、XPではコマンド使わなくてもIPアドレス表示メニューあったような気がする。9x系なら「winipcfg」で。なぜかこちらはGUIです。NICやネットワークインターフェイスがいくつかある場合には、目的のNICのものを見てくださいね。

☆ Windowsネットワークのトラブル時  -nbtstat-

別に項目を挙げて説明をしているので、詳細は別途。NetBIOS名の一覧表示です。別途説明では「マスタブラウザを調べる」ことのみの説明ですが、もちろんマスタブラウザ以外の情報を読み取ることができます。
NetBIOSとはと説明すると、マイクロソフトの歴史になってしまうようです。TCP/IPを使うには時期がはやかった頃、マイクロソフトは独自の通信方法NetBIOS(もともとはインターフェース名)というものを用いていたそうです。TCP/IPがWindows3.1以降(本格的には95以降)使用できるようになって、インターフェースとプロトコルを分ける必要が出てきてプロトコル部分はNetBEUI、インターフェースはNetBIOSと区別されるようになったそうです。それにしても、NetBEUIって家庭内LANが普及し出した頃はインターネットの標準がTCP/IPなのに、本屋さんにある本殆どNetBEUIの説明という不思議な時代があった。(ブロードバンドルータなどなかったからであろうか)。私はそれ以降の時代しか知らない。
今はWindowsの標準でTCP/IPが入っているので家庭でもNetBEUI使われること少ないと思います。けれどもマイクロソフトはNetBIOSを依然として使用しているのでTCP/IP上のNetBIOS(NBTと略してあることが多い)という不思議な仕組みが私たちを、そしてマイクロソフト自身を悩ませているということでしょう。

NetBIOS名は今では15バイト目までの名前+16バイト目の機能を表す文字の組み合わせ(サフィックス)となっています。nbtstatコマンドの一部しか解説していない本を最初見たとき、「最後の文字は何」と悩んで、「1E」だけ、検索にかけて調べるというようなことをして、少しずつわかってきました。こういうときどうやって調べたらよいか、素人は回り道してしまいますね。当時の記憶がなくなっているので、今ざっと検索かけたところでも下のように色々みつかりました。


@IT:連載
JP163409 - [NT]NetBIOS 名の 16 番目の文字
Microsoft Windows 2000 Advanced ドキュメント

話は戻りこの、NetBIOS名一覧表示をしてくれるコマンドがnbtstaでしたよね。コンピュータ名、ワークグループ名、ログオンしているユーザ名、利用可能なWindowsネットワークのでの機能など実に多くの情報が読み取れるわけなのです。トラブルをかかえているパソコンの前に行かなくても、ある程度Windows上の設定がわかってしまうので、便利です。(一覧表と読み取れる情報のリストを作るべきなのだろうな、私。)

☆DNSの動作をチェック -nslookup-

サーバたてている人なら、日常的にお世話になっている筈、しかしDNSサーバを持っていないのに、このコマンドのお世話になることになるとは。ダイナミックDNSできちんとひけているかということを知る必要があったのです。やはり最低限の知識をもっている必要があるということですね。IPアドレスとドメインの対応を管理しているのがDNSサーバなのですが、ドメイン名からIPアドレスを検索したり、逆にIPアドレスからドメイン名を調べる場合にこのコマンドを使います。頭の隅に入れておいても損はないはずです。

☆その他知っておくべきコマンド

☆まとめとおまけ

コマンドの説明をするつもりで、なぜかWindowsネットワークの説明になってしまいました。これらのコマンドはUNIX系の診断ツールと重なるのですよね。私自身まだ使いこなしている状態ではないのですが、もし将来Linuxもはじめてみようという時には役に立つはずです。また9x系には一部使えないコマンドがあるかもしれません。以上使い方の説明になっていないかもしれませんが、「そんなに面倒でなさそうなのでちょっと使ってみようかな」と思ってもらうきっかけになれば幸いです。