今回取り上げるnslookup(エヌエスルックアップ)コマンドは,ドメイン名からIPアドレスを調べたり,その逆にIPアドレスからドメイン名を調べたりするときに使うコマンドである。

 例えば,インターネット上に公開しているWebサーバーのアクセス・ログを見たところ,同じIPアドレスからのアクセスが多数あり,それもアクセス失敗のログとして記録されていたとする。このようなときは,どのような相手からアクセスがあったかを調べる必要がある。こうしたケースでnslookupコマンドを使えば,ログのIPアドレスからドメイン名やホスト名を調べることができる。

 こういったドメイン名に関する情報はDNSサーバーが管理している。nslookupコマンドはこのDNSサーバーに対する各種の調査やデバッグにも使えるコマンドである。例えば,社内に新しくサーバーを設置することになり,そのサーバーのドメイン名をDNSサーバーに登録したとする。ここでnslookupコマンドを使ってドメイン名からサーバーのIPアドレスを調べることで,DNSサーバーの設定が正しいかどうかを確認できる。

 また,ドメイン名を指定してping(ピング)などのネットワーク・コマンドを実行したときに失敗するケースがある。これは,DNSサーバーに問い合わせてドメイン名からIPアドレスに名前解決するところに問題があるかもしれない。こうしたときもnslookupコマンドを使って名前解決がうまくできているかどうかを確認してみるとよい。

ドメイン名とIPアドレスの関係を表示

 まずは実際にnslookupコマンドを使ってみよう。いつものようにWindowsマシンのコマンド・プロンプトを起動すれば準備は完了。そこで以下のように「nslookup」と打ち込み,Enter(エンター)キーを押す。

 C:\>nslookup

 実行すると,問い合わせに使うDNSサーバーの名前とIPアドレスが表示され,コマンド入力待ちの「>(プロンプト)」が表示される(図1)。このようにnslookupコマンドでは対話形式でコマンドを実行する「対話型モード」がある。この状態で調べたいドメイン名やIPアドレスを入力する。例えばドメイン名が「www.tripodworks.co.jp」のIPアドレスを調べたい場合には以下のように打ち込む。

図1●nslookupコマンドの基本的な使い方<br>コマンド・プロンプトで「nslookup」と打ち込みEnterキーを押すと,問い合わせを受け取ったDNSサーバーの名前とIPアドレスが表示され,その下にプロンプトが出る。これでnslookupの対話型モードに入ったことになる。
図1●nslookupコマンドの基本的な使い方
コマンド・プロンプトで「nslookup」と打ち込みEnterキーを押すと,問い合わせを受け取ったDNSサーバーの名前とIPアドレスが表示され,その下にプロンプトが出る。これでnslookupの対話型モードに入ったことになる。
[画像のクリックで拡大表示]

 >www.tripodworks.co.jp

 実行すると,問い合わせたDNSサーバーの情報に加えて,検索結果が3行にわたって表示される(図2)。ドメイン名に対するIPアドレスは一番下に「Address:210.196.76.46」と表示されている。このようにドメイン名からIPアドレスを調べる方法を「正引き」という。

図2●ドメイン名からIPアドレスを調べる<br>単に「nslookup」と実行すると,プロンプトが表示され対話型モードに入る。ここでドメイン名を入力するとIPアドレスが表示される。この方法を「正引き」という。
図2●ドメイン名からIPアドレスを調べる
単に「nslookup」と実行すると,プロンプトが表示され対話型モードに入る。ここでドメイン名を入力するとIPアドレスが表示される。この方法を「正引き」という。
[画像のクリックで拡大表示]

 検索結果の一番上の行には「Non-authoritative answer:」と表示されている。これは問い合わせを送ったDNSサーバーが,指定したwww.tripodworks.co.jpというドメインを直接管理していないため,他のDNSサーバーの情報を使って返答したことを示している。

 一方,IPアドレスからドメイン名を調べることもできる。これは「逆引き」と呼ばれる。逆引きを行うには,「>」が表示されている状態で以下のように打ち込む。

 >210.196.76.46

 実行すると,「Name: www.tripodworks.co.jp」と書かれた行が表示されるので,IPアドレスに対応するドメイン名がわかる(図3)。検索結果の一番下にある「Aliases: 46.76.196.210.in-addr.arpa」は逆引きに使うサーバーの別名を示している

図3●IPアドレスからドメイン名を調べる<br>単に「nslookup」と実行すると,プロンプトが表示され対話型モードに入る。ここでIPアドレスを入力するとドメイン名が表示される。この方法を「逆引き」という。
図3●IPアドレスからドメイン名を調べる
単に「nslookup」と実行すると,プロンプトが表示され対話型モードに入る。ここでIPアドレスを入力するとドメイン名が表示される。この方法を「逆引き」という。
[画像のクリックで拡大表示]

 なお,nslookupコマンドを実行したときにエラーが返ってきたら,自分のパソコンにDNSサーバーの設定がされていないことになる(図4)。

図4●DNSサーバーの設定をチェックする<br>nslookupコマンドを使って,自分のパソコンにDNSサーバーの設定がされているかどうかを調べることもできる。
図4●DNSサーバーの設定をチェックする
nslookupコマンドを使って,自分のパソコンにDNSサーバーの設定がされているかどうかを調べることもできる。
[画像のクリックで拡大表示]
遠藤 一義(えんどう かずよし)
トライポッドワークス 技術本部プロジェクトマネジャー
シンプルで使いやすいITソリューションを手がけるトライポッドワークスに勤務。以前は通信事業者や企業のネットワーク構築・運用・保守に携わっていた。現在はネットワーク・セキュリティ製品の計画や設計を担当している。