kakiro-webカキローウェブ

システム開発情報の紹介サイト

Windows nslookupコマンドを使用してDNSのルートサーバーからの問い合わせの流れを確認

ドメインの情報は階層構造で管理されており、その頂点となるDNSサーバーはルートサーバーと呼ばれています。

ルートサーバーは全世界で「a.root-servers.net」〜「m.root-servers.net」の13種類が存在しており、「m.root-servers.net」は日本が管理しているものとなっています。

ここでは、Windowsのnslookupコマンドを使用して、ドメインの問い合わせがルートサーバーから、対象のドメインを管理しているDNSサーバーまで行われていく流れを、以下に示します。

例として「www.example.com」のAレコードを、ルートサーバーから問い合わせを行うようにしています。

※ここではWindows10を使用して、動作確認を行なっています。

※nslookupコマンドの基本的な使用例については、当サイトのWindows nslookupコマンドを使用してDNS関連情報を確認のページをご覧ください。

※DNSのリソースレコードのTTLの値を確認する方法については、当サイトのWindows nslookupコマンドを使用してDNSのリソースレコードのTTLの値を確認のページをご覧ください。

「www.example.com」のAレコードをルートサーバーに問い合わせ

まずは、ルートサーバーから問い合わせを開始します。

「www.example.com」のAレコードを、ルートサーバーに問い合わせるには、以下のようにnslookupコマンドを実行します。

C:¥Users¥user01>nslookup -type=a www.example.com m.root-servers.net
ip6.ARPA        nameserver = d.ip6-servers.arpa
ip6.ARPA        nameserver = c.ip6-servers.arpa
ip6.ARPA        nameserver = e.ip6-servers.arpa
ip6.ARPA        nameserver = b.ip6-servers.arpa
ip6.ARPA        nameserver = a.ip6-servers.arpa
ip6.ARPA        nameserver = f.ip6-servers.arpa
a.ip6-servers.ARPA      internet address = 199.180.182.53
b.ip6-servers.ARPA      internet address = 199.253.182.182
c.ip6-servers.ARPA      internet address = 196.216.169.11
d.ip6-servers.ARPA      internet address = 200.7.86.53
e.ip6-servers.ARPA      internet address = 203.119.86.101
f.ip6-servers.ARPA      internet address = 193.0.9.2
a.ip6-servers.ARPA      AAAA IPv6 address = 2620:37:e000::53
b.ip6-servers.ARPA      AAAA IPv6 address = 2001:500:86::86
c.ip6-servers.ARPA      AAAA IPv6 address = 2001:43f8:110::11
d.ip6-servers.ARPA      AAAA IPv6 address = 2001:13c7:7012::53
e.ip6-servers.ARPA      AAAA IPv6 address = 2001:dd8:6::101
f.ip6-servers.ARPA      AAAA IPv6 address = 2001:67c:e0::2
サーバー:  UnKnown
Address:  2001:dc3::35

名前:    www.example.com
Served by:
- e.gtld-servers.net
          192.12.94.30
          com
- h.gtld-servers.net
          192.54.112.30
          com
- d.gtld-servers.net
          192.31.80.30
          com
- m.gtld-servers.net
          192.55.83.30
          com
- f.gtld-servers.net
          192.35.51.30
          com
- a.gtld-servers.net
          192.5.6.30
          2001:503:a83e::2:30
          com
- k.gtld-servers.net
          192.52.178.30
          com
- l.gtld-servers.net
          192.41.162.30
          com
- i.gtld-servers.net
          192.43.172.30
          com
- c.gtld-servers.net
          192.26.92.30
          com
  • 「-type」オプションで、ドメインに対して確認するレコードの種類を指定します。

    ここでは、Aレコードを確認するようにしています。

  • コマンドの第1引数に、確認するドメインを指定します。

    ここでは、ドメイン「www.example.com」を確認対象にしています。

  • コマンドの第2引数に、問い合わせを行うDNSサーバーを指定します。

    ここでは、ルートサーバー「m.root-servers.net」を指定しています。

コマンドの実行結果は、以下のようになります。

  • ドメイン「www.example.com」に対する問い合わせは、ルートサーバーの次は、「com」のドメインを管理しているDNSサーバーに行われるようになります。

    「com」のドメインを管理しているDNSサーバーとして「e.gtld-servers.net」・・・「c.gtld-servers.net」が存在していることが表示されています。

「www.example.com」のAレコードを「com」のドメインを管理しているDNSサーバーに問い合わせ

次に、「com」のドメインを管理しているDNSサーバーに問い合わせを行います。

「www.example.com」のAレコードを、「com」のドメインを管理しているDNSサーバーに問い合わせるには、以下のようにnslookupコマンドを実行します。

C:¥Users¥user01>nslookup -type=a www.example.com e.gtld-servers.net
(root)  nameserver = k.root-servers.net
(root)  nameserver = l.root-servers.net
(root)  nameserver = m.root-servers.net
(root)  nameserver = a.root-servers.net
(root)  nameserver = b.root-servers.net
(root)  nameserver = c.root-servers.net
(root)  nameserver = d.root-servers.net
(root)  nameserver = e.root-servers.net
(root)  nameserver = f.root-servers.net
(root)  nameserver = g.root-servers.net
(root)  nameserver = h.root-servers.net
(root)  nameserver = i.root-servers.net
(root)  nameserver = j.root-servers.net
サーバー:  UnKnown
Address:  2001:502:1ca1::30

名前:    www.example.com
Served by:
- a.iana-servers.net

          example.com
- b.iana-servers.net

          example.com
  • 「-type」オプションで、ドメインに対して確認するレコードの種類を指定します。

    ここでは、Aレコードを確認するようにしています。

  • コマンドの第1引数に、確認するドメインを指定します。

    ここでは、ドメイン「www.example.com」を確認対象にしています。

  • コマンドの第2引数に、問い合わせを行うDNSサーバーを指定します。

    ここでは、「com」のドメインを管理しているDNSサーバー「e.gtld-servers.net」を指定しています。

コマンドの実行結果は、以下のようになります。

  • ドメイン「www.example.com」に対する問い合わせは、「com」のドメインを管理しているDNSサーバーの次は、「example.com」のドメインを管理しているDNSサーバーに行われるようになります。

    「example.com」のドメインを管理しているDNSサーバーとして「a.iana-servers.net」、「b.iana-servers.net」が存在していることが表示されています。

「www.example.com」のAレコードを「example.com」のドメインを管理しているDNSサーバーに問い合わせ

次に、「example.com」のドメインを管理しているDNSサーバーに問い合わせを行います。

「www.example.com」のAレコードを、「example.com」のドメインを管理しているDNSサーバーに問い合わせるには、以下のようにnslookupコマンドを実行します。

C:¥Users¥user01>nslookup -type=a www.example.com a.iana-servers.net
サーバー:  a.iana-servers.net
Address:  2001:500:8f::53

名前:    www.example.com
Address:  93.184.216.34
  • 「-type」オプションで、ドメインに対して確認するレコードの種類を指定します。

    ここでは、Aレコードを確認するようにしています。

  • コマンドの第1引数に、確認するドメインを指定します。

    ここでは、ドメイン「www.example.com」を確認対象にしています。

  • コマンドの第2引数に、問い合わせを行うDNSサーバーを指定します。

    ここでは、「example.com」のドメインを管理しているDNSサーバー「a.iana-servers.net」を指定しています。

コマンドの実行結果は、以下のようになります。

  • ドメイン「www.example.com」は、「example.com」のゾーンで管理されているため、Aレコードの内容となるIPv4のIPアドレスが表示されます。

Windows nslookupコマンドを使用してDNSのルートサーバーからの問い合わせの流れを確認については、以上です。