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は基本編の「IPアドレスの設定」で示したように優先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 |