nslookup
DNSを調査する時に利用するnslookupについて説明します。
nslookupの概要
nslookupはDNSを利用してFQDNからIPアドレスに変換出来るか等を確認出来るコマンドです。Windowsではコマンドプロンプトで実行出来ます。
nslookup FQDNと入力する事で、IPアドレスを確認する事が出来ます。
| コマンドプロンプト |
|---|
C:\>nslookup www.aaa.bbb.ccc サーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 権限のない回答: 名前: www.aaa.bbb.ccc Addresses: 192.168.1.2 |
「権限のない回答」と出力される場合は基本編「DNSキャッシュ」で説明した通り、DNSキャッシュサーバーがキャッシュしている内容を回答している事を示します。
便利なコマンド
nslookupコマンドは対話型も可能です。対話型とはnslookupを実行後にコマンドを入力して結果を得るやり方です。nslookupを対話型で実行する時の便利なコマンドをご紹介します。
| コマンド | 説明 |
|---|---|
| set type=A | Aレコードを問い合わせる時に使います。 |
| set type=PTR | PTRレコードを問い合わせる時に使います。 |
| set type=MX | MXレコードを問い合わせる時に使います。 |
| set type=CNAME | CNAMEレコードを問い合わせる時に使います。 |
| server IPアドレス、又はFQDN | 問い合わせるサーバーを指定のサーバーに切り替えます。 |
| set debug | DNSで問い合わせて得られる様々な情報を表示します。 |
set type=Aでの実行例
set type=Aを実行する事でFQDNからIPアドレスを解決します。
| コマンドプロンプト |
|---|
C:\>nslookup 既定のサーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 > set type=A > www.aaa.bbb.ccc サーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 権限のない回答: 名前: www.aaa.bbb.ccc Address: 192.168.1.2 |
set type=Aは特に実行しなくてもIPアドレスを回答してくれます。
| コマンドプロンプト |
|---|
C:\>nslookup 既定のサーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 > www.aaa.bbb.ccc サーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 権限のない回答: 名前: www.aaa.bbb.ccc Addresses: 192.168.1.2 |
set type=PTRでの実行例
set type=PTRを実行する事でIPアドレスからFQDNを解決します。
| コマンドプロンプト |
|---|
C:\>nslookup 既定のサーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 > set type=PTR > 192.168.1.2 サーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 権限のない回答: 2.1.168.192.in-addr.arpa name = www.aaa.bbb.ccc |
set type=PTRは実行しなくてもFQDNに解決してくれます。
| コマンドプロンプト |
|---|
C:\>nslookup 既定のサーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 > 192.168.1.2 サーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 名前: www.aaa.bbb.ccc Address: 192.168.1.2 |
set type=MXでの実行例
set type=MXを実行する事でドメインのメールサーバーのFQDNを解決します。
| コマンドプロンプト |
|---|
C:\>nslookup 既定のサーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 > set type=MX > aaa.bbb.ccc サーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 権限のない回答: aaa.bbb.ccc MX preference = 10, mail exchanger = mail1.aaa.bbb.ccc aaa.bbb.ccc MX preference = 10, mail exchanger = mail2.aaa.bbb.ccc |
set type=CNAMEでの実行例
set type=CNAMEを実行する事で指定のFQDNの本来のFQDNが分かります。
| コマンドプロンプト |
|---|
C:\>nslookup 既定のサーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 > set type=CNAME > www.aaa.bbb.ccc サーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 権限のない回答: www.aaa.bbb.ccc canonical name = test1.aaa.bbb.ccc |
serverコマンドの実行例
server DNSサーバー名を実行する事で指定したサーバーに問い合わせを行います。

実行例は以下の通りです。
| コマンドプロンプト |
|---|
C:\>nslookup 既定のサーバー: ns1.aaa.bbb.ccc Address: 192.168.1.1 > server 172.16.1.1 既定のサーバー: ns1.ddd.eee.fff Address: 172.16.1.1 > www.ddd.eee.fff サーバー: ns1.ddd.eee.fff Address: 172.16.1.1 名前: www.ddd.eee.fff Addresses: 172.16.1.2 |
set debugでの実行例
set degubを実行すると様々な情報が得られます。よく確認する部分は赤字で示しています。
| コマンドプロンプト |
|---|
C:\>nslookup
既定のサーバー: ns1.aaa.bbb.ccc
Address: 192.168.1.1
> set debug
> www.ddd.eee.fff
サーバー: ns1.aaa.bbb.ccc
Address: 192.168.1.1
------------
Got answer:
HEADER:
opcode = QUERY, id = 6, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 2, additional = 2
QUESTIONS:
www.ddd.eee.fff, type = A, class = IN
ANSWERS:
-> www.ddd.eee.fff
internet address = 172.16.1.3 ★Aレコード
ttl = 60 (1 mins)
AUTHORITY RECORDS:
-> ddd.eee.fff
nameserver = ns1.ddd.eee.fff ★相手DNSプライマリサーバーのFQDN
ttl = 60 (1 mins)
-> ddd.eee.fff
nameserver = ns2.ddd.eee.fff ★相手DNSセカンダリサーバーのFQDN
ttl = 60 (1 mins)
ADDITIONAL RECORDS:
-> ns1.ddd.eee.fff
internet address = 172.168.1.1 ★プライマリサーバーのIPアドレス
ttl = 60 (1 mins)
-> ns2.ddd.eee.fff
internet address = 172.168.1.2 ★セカンダリサーバーのIPアドレス
ttl = 60 (1 mins)
------------
権限のない回答:
------------
Got answer:
HEADER:
opcode = QUERY, id = 7, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0
QUESTIONS:
www.ddd.eee.fff, type = AAAA, class = IN
AUTHORITY RECORDS:
-> ddd.eee.fff
ttl = 60 (1 mins)
primary name server = ns1.ddd.eee.fff
responsible mail addr = mail.ddd.eee.fff
serial = 2012082901
refresh = 1800 (30 mins)
retry = 900 (15 mins)
expire = 86400 (1 day)
default TTL = 900 (15 mins)
------------
名前: www.ddd.eee.fff
Address: 172.16.1.3
|

