Windows で NSLookup コマンドを使用する方法(例)

WindowsNSLookupコマンドを使用する方法(例)。Nslookupは、ドメイン名やそれらのドメイン名に関連付けられたインターネットプロトコル(IP)アドレスに関する情報を取得するために使用されるWindowsのコマンドです。たとえば、nslookupコマンドは、DNSクエリを使用してさまざまな種類の情報を取得するのに非常に便利です。例えば、メール交換サーバー情報、権威ある情報、逆引きなどを行うことができます。

端的に言えば、nslookupは、要求されたドメインに関する情報をローカルまたはリモートの DNSサーバーで検索します。このコマンドは、システムおよびネットワークエンジニア、および彼らの組織内でDNSサービスを管理する管理者にとって重要であり、そのため、その構文、アプリケーション、制限を学ぶことが重要です。このチュートリアルでは、詳細な説明と豊富な実用例を交えて、nslookup コマンドの使用方法を説明します。

Nslookupモード

対話モード

コマンドプロンプトに「nslookup」と入力して「Enter」キーを押すと、インタラクティブモードでNSlookupを使用できます。これにより、ローカルDNSサーバーとマシンに関連付けられたIPアドレスが表示されます。

あるいは、nslookupコマンドは、引数が指定されていない場合、または最初の引数が「-」(マイナス記号)であり、2番目の引数が名前サーバーのホスト名またはインターネットアドレスの場合、インタラクティブモードに入ることができます。引数が指定されていない場合、コマンドはデフォルトの名前サーバーにクエリを送信します。これを示すために、基本的なnslookupコマンドを実行しましょう。

nslookup

以下の出力が表示されます:

Default Server: dns.google
Address: 8.8.8.8

nslookupが情報を返すと、nslookupプロンプトが表示され、コマンドの実行を継続できます。たとえば、選択したドメイン名を入力すると、それに関する情報が表示されます。この場合、ドメイン名はwww.google.comです。

www.google.com

以下の出力が表示されます:

Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: www.google.com
Addresses: 2a00:1450:401a:800::2004
           172.217.170.164

コマンドにオプションを指定することができます。インタラクティブモードを使用しながらオプションを指定するには、クエリの前に別の行で行い、「set」というキーワードで先行する必要があります。このコマンドを実行すると、次の出力が生成されます:

set type-ns
www.google.com

このコマンドを実行すると、以下の出力が得られます:

Server: dns.google
Address: 8.8.8.8

google.com
         primary name server = ns1.google.com
         responsible mail addr = dns-admin.google.com
         serial 515288775
         refresh 900 (15 mins)
         retry = 900 (15 mins)
         expire = 1800 (30 mins)
         default TTL= 60 (1 min)

最後に、対話モードから抜けるために「exit」コマンドを使用します。

exit

非対話モード

このモードは、nslookupが単一のクエリを発行することを望む場合に便利です。クエリとコマンドはすべて同じ行にあります。nslookupコマンドは、最初の引数として検索するホストの名前またはインターネットアドレスを指定すると、非対話モードに入ります。オプションの2番目の引数は、名前サーバーのホスト名またはアドレスを指定します。引数の前にハイフンで接頭辞を付けることで、コマンドラインでオプションを指定できます。

nslookup -type-ns www.google.com

このコマンドを実行すると、以下の出力が得られます:

Server: dns.google
Address: 8.8.8.8
google.com
       primary name server = ns1.google.com
       responsible mail addr = dns-admin.google.com
       serial = 515590537
       refresh 900 (15 mins) retry = 900 (15 mins) expire = 1800 (30 mins) default TTL= 60 (1 min)

Nslookup構文

nslookup [-option] [name | -] [server]

オプション: ここで、IPアドレスやドメイン名と共に使用したいパラメータを指定する必要があります。オプションには、デバッグ、使用するポート、タイムアウト、DNSレコードの種類などがあります。

名前: この部分で、IPアドレスまたはホスト名(ドメイン名)を指定します。これが、DNSクエリの対象となります。

追加オプション: これにより、DNSクエリの性質に応じて追加のオプションをパラメータとして指定できます。

サーバー: これは、DNSクエリを実行したい場所を指定します。デフォルトのサーバーを使用するか、別のサーバーを指定することができます。

Nslookupオプション

nslookupコマンドで利用できる多くの異なるオプションがあります:

Nslookupオプション

説明

nslookup set domain=[ドメイン名]

オプションで指定されたドメイン名でDNS名のデフォルトを変更します。

nslookup set debug

デバッグ情報を表示します。

nslookup set port=[ポート番号]

クエリポートを指定します。ポート53は渡されない場合のデフォルトです。

nslookup set timeout=[秒]

サーバーの応答時間を設定するために使用されます。この時間が経過すると、コマンドはDNSサーバーが応答しないまたは見つからないと返します。

nslookup set type=a

指定されたDNS Aアドレスレコードに関する情報を表示するために使用されます。

nslookup set type=any

このコマンドは指定されたDNSに関するすべてのレコードを表示します。

nslookup set type=hinfo

ホストに関するハードウェア関連情報を表示するために使用されます。

nslookup set type=mx

サーバーのメール交換に関する情報を表示するために使用されます。

nslookup set type=ns

 名前サーバーのレコードを表示します。

Nslookup set type=ptr

逆引きDNS検索でポインタレコードを表示する

Nslookup set type=soa

権限開始レコードを表示する

Nslookup exit

Nslookupのコマンドプロンプトを終了する

Nslookup finger

現在のマシン上のフィンガーサーバーに接続するために使用される

Nslookup help

このコマンドは、他のサブコマンドに関する簡単な情報を表示する

Nslookup set all

現在の設定値を返すために使用される

Nslookup set class

クエリのクラスを変更します。クラスは情報のプロトコルグループを指定します

Nslookup set d2

エクスハウスデバッグモードをオンまたはオフにするために使用されます。それはすべてのパケットのすべてのフィールドを印刷します

Nslookup set retry

リトライの回数を指定するために使用されます。

Nslookup set search

答えが返されるまでDNSドメイン検索リストをリクエストに追加します。

12のNSlookupコマンド使用例

nslookupはさまざまなDNSレコードタイプをチェックするのに役立ちます。以下はいくつかの例です。

1. Nslookup IPアドレス(IPからドメイン名)

このPowerShellコマンドは、IPアドレスを知っている場合にドメイン名をチェックするために使用されます。以下のコードスニペットから、コマンドがIPアドレス8.8.8.8のドメイン名としてdns.google.comを返すことがわかります。

nslookup 8.8.8.8

結果:

Server: Unknown
Address: fe80::7404:37ff:fe53:a5d2
Name: dns.google
Address: 8.8.8.8

2. Nslookupドメイン名(ドメインからIPアドレス)

このコマンドは、ドメイン名を知っているが、そのドメイン名に対応するIPアドレスを探している場合に使用されます。以下のコードスニペットを見ると、mydomain.comドメイン名を使用してコマンドを実行した結果、いくつかのIPアドレスが表示されます。mydomain.comをあなたのドメイン名に置き換えてください。

nslookup mydomain.com

このコマンドを実行すると、次の出力が得られます:

Server: Unknown
Address: 192.168.100.10

Name: mydomain.com
Addresses: 192.168.100.12
           192.168.100.10
           192.168.100.11

3. Nslookup MXレコード

特定のドメインに対してメールを受け入れるタスクを担うメールサーバーは、MXレコードのルックアップを実行することで見つけることができます。MXレコードを見つけるためには、「–type=mx」オプションを使用し、ドメイン名を続ける必要があります。mydomain.comをあなたのドメイン名に置き換えてください。

nslookup -type-mx mydomain.com

以下は出力です:

Server: Unknown
Address: 192.168.100.10

Non-authoritative answer:
mydomain.com MX preference = 0, mail exchanger mydomain-com.mail.eo.outlook.com
mydomain.com.mail.eo.outlook.com     internet address 104.47.58.110
mydomain.com.mail.eo.outlook.com     internet address 104.47.55.110

4. Nslookup SOAレコード

時に、特定のDNSサーバーが与えられたドメインに関する情報の最良のソースであるかを知りたいことがあります。この場合、権限の始まり(Start of Authority)レコードが役立ちます。これは、デフォルトのttl、責任あるメールアドレス、プライマリ名サーバーなどを示します。

nslookup -type-soa mydomain.com

結果:

Server: Unknown
Address: 192.168.100.10
mydomain.com
          primary name server = dc1.mydomain.com
          responsible mail addr = hostmaster.mydomain.com
          serial = 667
          refresh = 900 (15 mins)
          retry = 600 (10 mins)
          expire = 86400 (1 day)
          default TTL = 3600 (1 hour)
dc1.mydomain.com internet address = 192.168.100.10

5. Nslookup CNAME

DNS名を他のDNS名にリダイレクトまたはエイリアスするために使用されます。

nslookup -type=cname www.mydomain.com

結果:

Server:   Unknown
Address:  fe80::7404:37ff: fe53:a5d2

Non-authoritative answer:
www.mydomain.com     canonical name = mydomain.com

6. ネームサーバーのルックアップ

特定のドメインのネームサーバーを知る必要がある場合に便利です。

nslookup -type-ns www.google.com

結果:

Server:  Unknown
Address:  fe80::7404:37ff: fe53: a5d2

Non-authoritative answer:
google.com       text =
               "atlassian-domain-verification=5YjTmWmj192ewqkx20XmBaD60Td9zWon9n

7. Nslookup TXTレコード

ドメインのテキストを確認するために使用されるDNSレコード

nslookup -q=TXT www.google.com

結果:

Server:  dns.google
Address: 8.8.8.8

google.com
         primary name server = ns1.google.com
         responsible mail addr = dns-admin.google.com
         serial = 515590537
         refresh = 900 (15 mins)
         retry = 900 (15 mins)
         expire = 1800 (30 mins)
         default TTL = 60 (1 min)

8. すべてのDNSレコードのNslookup

このコマンドを実行して、ドメインのすべてのレコードを表示します。

nslookup -type=any google.com

結果:

Server: dns.google
Address: 8.8.8.8

Non-authoritative answer:
google.com       internet address = 142.250.184.110
google.com       AAAA IPv6 address = 2a00:1450:4002:406::200e
google.com       text -
          "atlassian-domain-verification-5Yjmwmj192ewqkx2oXmBaD60Td9zWon9r6eakvHX6877zzkFQto8PQ9QsKnbf41"

9. ドメインコントローラのNslookup

指定されたドメインのドメインコントローラをすべて表示するために使用されます。次の手順に従って、指定されたドメインのドメインコントローラの完全なリストを生成します。

  • コマンドプロンプトでnslookupを入力します。
nslookup

結果:

Server: Unknown
Address: ::1
  • Enterを押した後、set type=SRVと入力します。
set type=SRV
  • 次に、_ldap._tcp.mydomain.comと入力した後にEnterを押します(mydomain.comの代わりに独自のドメイン名を使用してください)。
_ldap._tcp.mydomain.com

これにより、指定されたドメインのすべてのドメインコントローラのリストが返されます。

10. Nslookup Verbose

特定のリソースレコードに関するより詳細な情報、例えばデフォルトのTTL、メールアドレス、プライマリ名サーバー、そしてさらに多くを表示する必要がある場合は、デバッグをオンにするだけです。

nslookup

この場合の出力は次の通りです。

Default Server: dns9.quad9.net
Address: 9.9.9.9

そして、コマンドset debugを使用し、ドメイン名を入力してください。

set debug
google.com

出力:

Server:   dns9.quad9.net
Address:   9.9.9.9
----------------
Got answer:
      HEADER:
           opcode QUERY, id = 2, rcode = NXDOMAIN
           header flags:  response, want recursion, recursion avail.
           questions = 1, answers = 0, authority records = 1, additional = 0

     QUESTIONS:
           google.com.mhs, type = A, class = IN
     AUTHORITY RECORDS:
     ->   (root)
            ttl=559 (9 mins 19 secs)
            primary name server = a.root-servers.net responsible mail addr = nstld.verisign-grs.com
            serial = 2021090600
            refresh = 1800 (30 mins)
            retry = 900 (15 mins)
            expire = 604800 (7 days)

11. Nslookupを外部DNSサーバーで使用

トラブルシューティングプロセス中、これは非常に役立ちます。ウェブサイトが内部ネットワーク外部で読み込まれるが、内部ネットワークでは読み込まれなくなる場合があります。そのような状況では、このコマンドを使用して、内部DNSサーバーが返す結果と外部DNSサーバーが返す結果が異なるかどうかを確認できます。GoogleまたはISPのDNSサーバーを使用できます。

nslookupコマンドを入力し、「Enter」キーを押してDNSサーバーを変更します。次に、サーバーのIPアドレスを入力します。例えば、「server 8.8.8.8」と入力してからEnterキーを押します。これらのコマンドを実行することで、nslookup commandは8.8.8.8サーバーを使用してDNSレコードの検索を実行するように指示されます。

nslookup

出力:

Default Server: Unknown
Address:  192.168.100.10

次に、私たちの場合のサーバー情報を入力します: 8.8.8.8

server 8.8.8.8

結果:

Default Server: dns.google
Address: 8.8.8.8

例えば、yahoo.comのDNSルックアップを実行すると、以下に示すように8.8.8.8をDNSサーバーとして変更したことがわかります。

yahoo.com
Server: dns.google
Address: 8.8.8.8

Non-authoritative answer:
Name:          yahoo.com
Addresses:   2001:4998:24:120d::1:1
                  2001:4998:44:3507::8001
                  2001:4998:24:120d::1:0
                  2001:4998:124:1507::f000
                  2001:4998:124:1507::f001
                  2001:4998:44:3507::8000
                  74.6.143.26
                  98.137.11.164

12. PTRレコードの確認

逆引きDNSクエリを実行することで、特定のIPアドレスがドメイン名に割り当てられているかどうかを確認することができます。これを実現するためには、ドメイン名とIPアドレスをリンクするPTRレコードを確認する必要があります。これを行うには、IPアドレスを逆の順序に並べ替える必要があります。例えば、「185.136.96.96」は「96.96.136.185」に変わります。また、arpaのトップレベルドメインに格納されていることを考慮し、IPアドレスの末尾にin-addr.arpaを追加する必要があります。

nslookup -type-ptr 96.96.136.185.in-addr.arpa

出力:

Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
96.96.136.185.in-addr.arpa      name = pns21.cloudns.net.

記事「WindowsでのNSLookupコマンドの使用方法(例)」を読んでいただきありがとうございます。これで終了します。

WindowsでのNSLookupコマンドの使用方法(例) まとめ

この記事では、nslookupWindowsコマンドを使用する方法のさまざまな例を示しました。 nslookupコマンドは、トラブルシューティングとDNSレコードの検証に優れたツールです。多くのネットワークの問題はDNSに関連しており、DNSが正常に機能しているか迅速に確認する方法を知っていることで、多くの時間を節約できます。 nslookupはWindowsのコマンドプロンプトで非常に簡単に使用できます。

nslookupコマンドは、DNSサーバーをテストするためにも使用できます。 nslookup コマンドには、名前解決をテストするためのいくつかの高度なオプションが含まれており、さらにデバッグを強化するための冗長なデバッグモードもあります。このチュートリアルでは、コマンドの使用方法に関する十分な知識を提供します。

ただし、専用のIPアドレスを持たないウェブサイトの場合、このコマンドを実行するたびに結果が異なる可能性があることを覚えておくことが重要です。

Source:
https://infrasos.com/how-to-use-nslookup-command-on-windows-examples/