今回取り上げる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アドレスを調べたい場合には以下のように打ち込む。
>www.tripodworks.co.jp
実行すると,問い合わせたDNSサーバーの情報に加えて,検索結果が3行にわたって表示される(図2)。ドメイン名に対するIPアドレスは一番下に「Address:210.196.76.46」と表示されている。このようにドメイン名から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」は逆引きに使うサーバーの別名を示している。
なお,nslookupコマンドを実行したときにエラーが返ってきたら,自分のパソコンにDNSサーバーの設定がされていないことになる(図4)。
トライポッドワークス 技術本部プロジェクトマネジャー