nslookupでDNSによる名前解決を確認する

「nslookup」コマンドは、インターネット上で標準となっている、「DNS」による名前解決を確認できるコマンドです。
DNSによる名前解決は、Webページの閲覧や、電子メールの送受信でも行われています。
Webやメールでの通信ができなくなった時、原因を切り分けることに役立ちます。

DNSによる名前解決とは

DNS(Domain Name System)とは、インターネット上で標準となっている名前解決の仕組みです。
名前解決とは、コンピュータに付けられた人間にとって分かりやすい名前から、ネットワーク上で実際に使われるアドレスを取得することです。
インターネット上では、人間にとって分かりやすい名前が「www.example.net」のように表されるホスト名・ドメイン名であり、実際に使われるネットワークアドレスが「192.0.2.1」のように表されるIPアドレスとなります。

インターネット上の機器には名前とアドレスがある

ブラウザでWebページを閲覧する時や、電子メールの送受信に使用するサーバの設定では、接続先を「www.example.net」のような形式で入力することが多いと思いますが、実は通信に先立って行われるDNSによる名前解決で「192.0.2.1」のようなIPアドレスに変換されています。

Webページの閲覧などでは、実際の通信に先立ってDNSによる名前解決が行われている

DNSによる名前解決に失敗すると、相手先のIPアドレスを取得できず、通信が行えません。

DNSによる名前解決に失敗すると、相手先のIPアドレスを取得できず、通信が行えない

このページで説明するnslookupコマンドは、DNSによる名前解決のみをテストすることができます。
通信ができない原因がDNSに関係するものなのか、それ以外に原因があるのかを切り分けることに役立つと思います。

nslookupでホスト名・ドメイン名からIPアドレスを取得できるか確認する

nslookupコマンドを使用して、ホスト名・ドメイン名からIPアドレスを取得できるか確認します。
コマンドプロンプト画面で「nslookup 相手先の名前」と入力すると名前解決の結果が表示されます。

C:\Documents and Settings\example>nslookup www.example.net ← nslookup + 相手先のホスト名を入力
Server:  air.setup ← 名前解決を依頼したDNSサーバの名前とIPアドレス
Address:  192.168.11.1

Non-authoritative answer:
Name:    www.example.net
Address:  208.77.188.166 ← 名前解決によって得られた相手先のIPアドレス

DNSサーバからの応答が無い場合は、下記のようなエラーが表示されます。

DNS request timed out. ← タイムアウトエラー

上記のようなエラーが表示される場合は、パソコンのDNSサーバ設定を確認してみましょう。
ブロードバンドルータを使用している場合は、パソコンのDNSサーバ設定がブロードバンドルータのIPアドレスになっていることが多いので、ブロードバンドルータの設定や動作も確認してみるとよいでしょう。

DNSサーバを指定して名前解決を確認する

nslookupコマンドでは、上記のように「nslookup 相手先の名前」とだけ入力した場合、パソコンに設定されているDNSサーバに対して名前解決を依頼しますが、「nslookup 相手先の名前 名前解決を依頼するDNSサーバ」と入力することで、指定したDNSサーバへ名前解決を依頼できます。
DNSサーバの指定は、ホスト名・ドメイン名かIPアドレスで行います。

ブロードバンドルータ利用環境では、ブロードバンドルータがDNSサーバとして設定されていることが多いと思いますが、DNSサーバを指定することで、ブロードバンドルータではなく、利用しているプロバイダのDNSサーバへ直接名前解決を依頼してテストすることができます。

DNSサーバを指定すると、名前解決依頼はそのサーバへ直接行われる

コマンドプロンプトでの入力は以下のように行います。

C:\Documents and Settings\example>nslookup www.example.net 192.0.2.100
                                  ↑nslookup + 相手先のホスト名 + 指定するDNSサーバを入力
Server:  ns.example.ne.jp ← 名前解決を依頼したDNSサーバの名前とIPアドレス
Address:  192.0.2.100   (指定したDNSサーバへ依頼しているか確認できる)

Non-authoritative answer:
Name:    www.example.net
Address:  208.77.188.166

名前解決に問題が発生した場合、DNSサーバを指定することで、経由しているブロードバンドルータに関連する不具合と、それ以外の原因に切り分けることができると思います。

以上でnslookupコマンドの説明は終わりです。
このコマンドで確認できるDNSによる名前解決は、インターネットに関連する通信で頻繁に行われます。
DNSに関連する不具合が疑われる時は、このコマンドで確認してみるとよいでしょう。

▲ページの最上部へ戻る