kakiro-webカキローウェブ

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

Windows nslookupコマンドを使用してDNS関連情報を確認

WindowsでDNSの関連情報を確認する際に使用するnslookupコマンドについて、基本的な使用例を以下に示します。

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

※DNSのルートサーバーからの問い合わせの流れについては、当サイトのWindows nslookupコマンドを使用してDNSのルートサーバーからの問い合わせの流れを確認のページをご覧ください。

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

SOAレコードを確認

ゾーンの管理情報は、SOA(Start Of Authority)レコードに設定されています。

SOAレコードを確認するには、以下のようにnslookupコマンドを実行します。

C:¥Users¥user01>nslookup -type=soa example.com
サーバー:  UnKnown
Address:  xxx.xxx.xxx.xxx

権限のない回答:
example.com
        primary name server = ns.icann.org
        responsible mail addr = noc.dns.icann.org
        serial  = 2019121383
        refresh = 7200 (2 hours)
        retry   = 3600 (1 hour)
        expire  = 1209600 (14 days)
        default TTL = 3600 (1 hour)
  • 「-type」オプションで、ドメインに対して確認するレコードの種類を指定します。

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

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

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

    SOAレコードでは、ゾーン(サブドメインも含むドメインの管理範囲)が指定対象となります。(ドメイン「www.example.com」は、ゾーン「example.com」に含まれています。)

SOAレコードの内容は、以下のようになります。

ここでは対象のゾーンは「example.com」となります。

  • primary name server:対象のゾーンのゾーンデータを管理しているプライマリのネームサーバーになります。

  • responsible mail addr:対象のゾーンの管理者のメールアドレスになります。

    「@」は「.」に置き換えられます。ここでは「noc@dns.icann.org」が置き換え前のメールアドレスとなります。

  • serial:対象のゾーンのゾーンデータのシリアル番号になります。

    年(4桁)、月(2桁)、日(2桁)に2桁の管理番号を組み合わせた形式が使われることが多くあります。

    セカンダリのネームサーバーは、プライマリのネームサーバーからゾーンデータを取得する際に、この値が以前のものより大きくなっていると、ゾーンデータを更新するようになります。

  • refresh:セカンダリのネームサーバーは、前回ゾーンデータの更新を行なった後、この時間が経過すると、再度プライマリのネームサーバーに対し、ゾーンデータの更新を行うようになります。

    時間は秒単位となります。

  • retry:セカンダリのネームサーバーは、前回のゾーンデータの更新が失敗した場合、この時間が経過すると、再度プライマリのネームサーバーに対し、ゾーンデータの更新を行うようになります。

    時間は秒単位となります。

  • expire:セカンダリのネームサーバーは、前回ゾーンデータの更新を行なった後、その後のゾーンデータの更新が失敗し、この時間が経過してもゾーンデータの更新が行われていない状態が続くと、自身のゾーンデータを無効なものとします。

    時間は秒単位となります。

  • default TTL:以前はTTLのデフォルト値として扱われていたようですが、現在はminimumフィールドとして扱われているようです。※参照 RFC2308

    Linuxのdigコマンドでは、minimumフィールドとして表示されます。

    問い合わせを行うDNSサーバー(フルリゾルバーと呼ばれている)は、取得しようとしたリソースレコードが存在しなかった場合に、そのリソースレコードは存在しなかったという情報をキャッシュし、同じ問い合わせを行わないようになっていますが(このことはネガティブキャッシュと呼ばれている)、このネガティブキャッシュを保持する時間がminimumフィールドに設定されているものとなります。

    時間は秒単位となります。

NSレコードを確認

ゾーンのデータを保持しているネームサーバー(権威サーバーと呼ばれている)の情報は、NS(Name Server)レコードに設定されています。

NSレコードを確認するには、以下のようにnslookupコマンドを実行します。

C:¥Users¥user01>nslookup -type=ns example.com
サーバー:  UnKnown
Address:  xxx.xxx.xxx.xxx

権限のない回答:
example.com     nameserver = a.iana-servers.net
example.com     nameserver = b.iana-servers.net

a.iana-servers.net      internet address = 199.43.135.53
a.iana-servers.net      AAAA IPv6 address = 2001:500:8f::53
b.iana-servers.net      internet address = 199.43.133.53
b.iana-servers.net      AAAA IPv6 address = 2001:500:8d::53
  • 「-type」オプションで、ドメインに対して確認するレコードの種類を指定します。

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

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

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

    NSレコードでは、ゾーン(サブドメインも含むドメインの管理範囲)が指定対象となります。(ドメイン「www.example.com」は、ゾーン「example.com」に含まれています。)

NSレコードの内容は、以下のようになります。

  • 対象のゾーン(ここでは「example.com」)のゾーンデータを保持しているネームサーバーのドメインとIPアドレスが表示されます。

    ここではSOAレコードのプライマリーのネームサーバー「ns.icann.org」が表示されていませんが、プライマリーのネームサーバーは問い合わせの応答用には公開されておらず、ゾーンデータをセカンダリーのネームサーバーに共有し、2つのセカンダリーのネームサーバーが問い合わせに応答するようになっているものと思われます。

  • サブドメインが別のゾーンとしてゾーンデータの管理が行われている場合は、そのサブドメインのNSレコードもここに表示されるようになります。

Aレコードを確認

ドメインに対するIPv4のIPアドレスの情報は、A(Address)レコードに設定されています。

Aレコードを確認するには、以下のようにnslookupコマンドを実行します。

C:¥Users¥user01>nslookup -type=a www.example.com
サーバー:  UnKnown
Address:  xxx.xxx.xxx.xxx

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

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

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

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

Aレコードの内容は、以下のようになります。

  • 対象のドメイン(ここでは「www.example.com」)のIPv4のIPアドレスが表示されます。

MXレコードを確認

ドメインのメールアドレスに対してメールを送信する際に使用するメールサーバーの情報は、MX(Mail Exchange)レコードに設定されています。

MXレコードを確認するには、以下のようにnslookupコマンドを実行します。

C:¥Users¥user01>nslookup -type=mx example.com
サーバー:  UnKnown
Address:  xxx.xxx.xxx.xxx

権限のない回答:
example.com     MX preference = 0, mail exchanger = (root)
  • 「-type」オプションで、ドメインに対して確認するレコードの種類を指定します。

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

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

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

MXレコードの内容は、以下のようになります。

  • ここでの例では表示されていませんが、実在していれば対象のドメインのメールサーバーのドメインとIPアドレスが表示されます。

TXTレコードを確認

ドメインに対するテキスト情報は、TXT(Text)レコードに設定されています。

TXTレコードを確認するには、以下のようにnslookupコマンドを実行します。

C:¥Users¥user01>nslookup -type=txt example.com
サーバー:  UnKnown
Address:  xxx.xxx.xxx.xxx

権限のない回答:
example.com     text =

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

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

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

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

TXTレコードの内容は、以下のようになります。

  • 対象のドメイン(ここでは「example.com」)のテキスト情報が表示されます。

    TXTレコードには、メール送信時のドメイン認証で使用されるSPFレコードが設定されることがあります。

    SPFレコードの詳細については、ここでは割愛します。

Windows nslookupコマンドを使用してDNS関連情報を確認については、以上です。