ネット管理者が把握しておきたい管理情報の一つに,自分が管理しているLANにどのパソコンがつながっているかということがある。最近では,動的にIPアドレスを割り振る「DHCP」の利用が浸透しているので,ともすれば一般ユーザーが勝手に何台ものノードPCをLANにつないでいたりする。今回は,基本的なコマンドだけでLANにつながっているパソコンを探し出す方法を紹介しよう。

 使うコマンドは,「ping」「nbtstat」「arp」の三つ。どれもWindowsマシンが標準的に備えるDOSコマンドである。

 まずpingから説明しよう。pingは,通信相手のコンピュータがTCP/IPで通信できるかどうかを調べるコマンドだ。TCP/IPソフトはネットワーク制御向けプロトコル「ICMP」を備えているが,pingはこのICMPを使って相手先にIP通信が可能かどうかを問い合わせる。この問い合わせに対する返信があれば,相手マシンはTCP/IPで通信できることがわかる。操作方法としては,DOSプロンプトの状態でpingと入力し,半角空けて相手先マシンのIPアドレス(またはホスト・アドレス)を打ち込めばよい。

 未知のコンピュータを探す場合は,自分のLANに割り当ててあるIPアドレスを一つ一つ指定してpingコマンドを実行する。IPアドレスが多い場合はちょっと面倒だが,もし返信があれば,それはすでにどこかのマシンが使っているということがわかる。

 nbstatは,Windowsネットワークにおいて,相手先マシンのコンピュータ名(NetBIOS名)とワークグループ名を知るためのコマンド。NetBIOS名とは,Windowsマシンで「ネットワーク」のアイコンをクリックしたときに一覧表示されるコンピュータ名のことである。DOSプロンプトに「nbtstat -a」と打ち込み,半角空けてIPアドレスを入力すると,そのIPアドレスで動いているマシンのNetBIOS名とワークグループが表示される。

 nbtstatコマンドが便利なのは,MACアドレスもいっしょに表示してくれること。MACアドレスはそのコンピュータのLANカードに焼き付けられているLANアドレス。MACアドレスは48ビットあるが,ここでは「00-06-5B-93-1A-CD」のように,8ビットずつ16進数で表示する。このうち前半の24ビットはメーカー別に割り振られたベンダーIDなので,MACアドレスがわかればLANカードの製造ベンダーを特定できる。ちなみに「00-06-5B」は,デル・コンピュータに割り当てられたベンダーIDである。

 相手がWindowsパソコン以外のときは,arpコマンドを使えばMACアドレスを調べられる。arpはWindows内部に保存されたARPエントリを表示するコマンド。ARP(Address Resolution Protocol)というのは,IPアドレスとMACアドレスの対応関係を調べるプロトコル。TCP/IP通信に先だって,通信相手のMACアドレスを通信相手にブロードキャストで問い合わせるのである。

 ARP応答には相手先マシンのMACアドレスが入っており,送信側マシンはこのARP応答の結果を自分自身の中に一定時間(Windows2000の場合で2分間)だけ保持する。こうしてできたIPアドレスとMACアドレスの対応表がARPエントリである。DOSプロンプトに「arp -a」と入力すると,そのときのARPエントリ(IPアドレスとMACアドレスの対応表)が一覧表示される。

 紹介してきたように,ping,nbtstat,arpをうまく組み合わせると,自分が所属するネットで動いているTCP/IPマシンを見つけだし,それらのNetBIOS名やMACアドレスを知ることができる。

 ping,nbtstat,arpにはいくつかのオプションがあり,それらを活用するとより細かなネットワーク情報を収集できる。小規模ネットを管理しているなら,一度試してみることをお勧めする。

山田 剛良

関連リンク
新人SEのためのネットワーク入門
ネットの本質をつかむ10大ポイント(後編)第4回 「ネット管理」
MACアドレスとベンダーIDの対応を調べるサーチ・エンジン