文書番号: 200525 - 対象製品
この記事は、以前は次の ID で公開されていました: JP200525
すべて展開する | すべて折りたたむ

目次

概要

Nslookup.exe は、DNS サーバーのテストとトラブルシューティングを行うための、コマンド ライン管理ツールです。このツールは、TCP/IP プロトコルとともにインストールされます。この資料では、Nslookup.exe を使用する場合のいくつかのヒントを示します。

詳細

Nslookup.exe を使用するには、以下の点に注意してください。
  • Nslookup.exe を実行しているコンピュータには TCP/IP プロトコルがインストールされている必要があります。
  • [Microsoft TCP/IP プロトコル] のプロパティ - [DNS] タブ - [DNS サービスの検索順序] フィールドで、少なくとも 1 つの DNS サーバーが指定されている必要があります。
  • Nslookup は、常に現在のコンテキストから名前を委譲します。完全修飾名 ( ドットで終わっている名前 ) の問い合わせをしなかった場合は、その問い合わせには現在のコンテキストが追加されます。たとえば、現在の DNS 設定が att.com であり、問い合わせは www.microsoft.com で実行されるとします。最初の問い合わせは、完全修飾名ではないために、www.microsoft.com.att.com として送信されます。この動作は、他のベンダのバージョンの Nslookup と一致しないことがあります。この資料では MicrosoftWindows NT の Nslookup.exe の動作について説明します。
  • [Microsoft TCP/IP プロトコル] のプロパティ - [DNS] タブ - [ドメインサフィックスの検索順序] で検索リストをすでに定義している場合、クエリにはそのリストで指定されたドメイン サフィックスが付加されます。検索リストを使用しないようにするには、常に検索対象の最後にドットがついた完全に限定されたドメイン名で指定してください。

Nslookup.exe を対話型と非対話型という 2 つのモードで実行することができます。非対話型モードは、1 つのデータのみを検索したい場合に便利です。非対話型モードの構文は、以下のとおりです。

  nslookup [-オプション] [ホスト名] [サーバー]

Nslookup.exe を対話型モードで起動するには、コマンド プロンプトで以下のように単に" nslookup "と入力してください。

  C:\> nslookup
  Default Server:  nameserver1.domain.com
  Address:  10.0.0.1
  >
コマンド プロンプトで " help " または " ? " と入力すると、使用可能なコマンドのリストが表示されます。コマンド プロンプトで入力した、有効なコマンドとして認識されていないものは、すべてホスト名として解釈され、デフォルト サーバーを使用してそのホスト名を解決しようとします。対話型コマンドを中断するには、[Ctrl] + [C] と入力してください。対話型モードを終了して、コマンド プロンプトに戻るには、コマンド プロンプトで " exit " と入力してください。

以下はヘルプを出力したもので、オプションの完全なリストが含まれています。

コマンド ( 識別子は大文字で表示され、[ ] はオプションであることを意味します。) :

  NAME          - デフォルト サーバーを使用して、ホストまたはドメイン名について
                  の情報を表示します。

  NAME1 NAME2   - 上記と同じ。ただし、サーバーとして NAME2 を使用します。

  help または ? - nslookup サブコマンドに関する簡単な説明を表示します。

  set OPTION    - 問い合わせの動作を決定する構成値を変更します。

  all          - 構成値の現在の値を表示します。デフォルト サーバーコンピュータ
                  ( ホスト ) の情報も表示されます。

  [no]debug     - デバッグ モードのオン/オフを切り替えます。デバッグ モードを
                  オンにすると、サーバーに送信されたパケットとその応答に関する
                  詳細な情報が表示されます。

  [no]d2        - 詳細デバッグ モードのオン/オフを切り替えます。それぞれの
                  パケットフィールドがすべて完全に表示されます。

  [no]defname   - 単一要素の照合要求に、デフォルトの DNS ドメイン名を付加しま
                  す。単一要素とは、ピリオドの含まれない要素のことです。

  [no]recurse   - DNS サーバーに情報がない場合、ほかのサーバーに問い合わせるよう
                  に指示します。

  [no]search    - 設定すると、クエリ要求に少なくともピリオドが 1 つ含まれるが、
                  最後がピリオドではない場合、応答が受信されるまで、DNS ドメイン
                  の検索一覧内の DNS ドメイン名を問い合わせ要求に付加します。

  [no]vc        - 要求をサーバーに送信するとき、常に仮想回線を使います。

  domain=NAME   - デフォルトの DNS ドメインを、指定した名前に変更します。

  srchlist=N1[/N2/.../N6] - デフォルトの DNS ドメイン名と検索一覧を変更します。
                            スラッシュ (/) で区切って、最大 6 つの名前を指定
                            できます。

  root=NAME     - DNS ドメイン ネーム スペースのルートのサーバーを指定した名前に
                  変更します。

  retry=X       - 再試行の回数を X に設定します。

  timeout=X     - 要求への応答を待つ初期秒数を X 秒に設定します。

  type=X        - 情報の問い合わせの種類 (たとえば、A、ANY、CNAME、MX、NS、PTR、
                  SOA、SRV) を設定します。

  querytype=X   - type コマンドと同じです。

  class=X       - 問い合わせクラスを設定します。クラスとは、情報のプロトコル
                  グループを指定するものです。

  [no]msxfr     - MS 高速ゾーン転送を使用します。

  ixfrver=X     - IXTR 転送要求で使用する現在のバージョンを設定します。

  server NAME   - デフォルト サーバーを、指定した名前に変更します。このコマンド
                  は、指定した名前の情報を、現在のデフォルト サーバーを使って
                  調べます。

  lserver NAME  - デフォルト サーバーを、指定した名前に変更します。このコマンド
                  は、指定した名前についての情報を初期サーバーを使って調べます。

  finger [USER] - 現在のデフォルト コンピュータでオプションのユーザー名が存在
                  しているかどうか確認します。

  root          - デフォルト サーバーを、ルートのサーバーに設定します。

  ls [opt] DOMAIN [> FILE] - ドメインの情報の一覧を表示します。出力をファイルに
                             リダイレクトすると、サーバーから受信した 50
                             レコードごとにハッシュ記号が出力されます。

  -a            -  ドメイン内のコンピュータの別名の一覧を表示します。

  -d            -  ドメインの全レコードの一覧を表示します。

  -t TYPE       -  指定したタイプの (たとえば、A、CNAME、MX、NS、PTR など)
                   全レコードの一覧を表示します。

  view FILE     - 以前入力した ls コマンドを並べ替えて一覧します。

  exit          - nslookup を終了します。

コマンド プロンプトで set コマンドを実行することにより、Nslookup.exe で多くのオプションを設定することができます。これらのオプションの完全なリストは、" set all " と入力することにより取得できます。使用可能なオプションの出力については、前述の set コマンド以下の説明をご覧下さい。


異なるデータ型を検索する

ドメイン名空間内で異なるデータ型を検索するには、コマンド プロンプトで "set type " コマンドまたは "set q[uerytype] " コマンドを使用します。たとえば、メール エクスチェンジャ データの問い合わせを行うには、以下のように入力してください。
  C:\> nslookup
  Default Server:  ns1.domain.com
  Address:  10.0.0.1

  > set q=mx
  > mailhost
  Server:  ns1.domain.com
  Address:  10.0.0.1

  mailhost.domain.com     MX preference = 0, mail exchanger =
                          mailhost.domain.com
  mailhost.domain.com     internet address = 10.0.0.5
  >

リモートホストの名前を初めて検索した場合は、権威つきの回答が返されますが、次に同じ名前を検索した場合は、権威なしの回答が返されます。ローカルネームサーバーは、そのドメインに対して権威のあるネームサーバーに接続します。その後、ローカルネームサーバーはその情報をキャッシュするので、次に検索した場合、ローカルネームサーバーはキャッシュから回答を取り出すため、権威なしの回答となります。


別のネーム サーバーから直接問い合わせを行う

別のネーム サーバーに直接問い合わせを行うには、server コマンドまたは lserver コマンドを使用して、そのネーム サーバーに切り替えます。lserver コマンドは、ローカルネームサーバーを使用して、切り替えるサーバーのアドレスを取得しますが、server コマンドは、現在のデフォルト サーバーを使用して、そのアドレスを取得します。

例 :
  C:\> nslookup

  Default Server:  nameserver1.domain.com
  Address:  10.0.0.1

  > server 10.0.0.2

  Default Server:  nameserver2.domain.com
  Address:  10.0.0.2
  >

Nslookup.exe を使用してゾーン全体を転送する

ls コマンドを使用することによって、Nslookup は、ゾーン全体を転送することができます。これは、リモート ドメインにあるすべてのホストを調べるのに役立ちます。ls コマンドの構文は以下のとおりです。

  ls [- a | d | t type] domain [> filename]
引数を何も指定せずに ls コマンドを使用すると、すべてのアドレスとネーム サーバーのデータのリストが返されます。-a スイッチはドメイン内のコンピュータの別名と正規名の一覧を返し、-d スイッチはドメインの全レコードの一覧を返し、-t スイッチは指定したタイプの全レコードの一覧を返します。

例 :

  >ls domain.com
  [nameserver1.domain.com]
   nameserver1.domain.com.    NS     server = ns1.domain.com
   nameserver2.domain.com                 NS     server = ns2.domain.com
   nameserver1                            A      10.0.0.1
   nameserver2                            A      10.0.0.2

  >

ゾーン転送は DNS サーバーでブロックされることがあるので、認証されたアドレスまたはネットワークのみがこの機能を実行できます。ゾーン セキュリティが設定されている場合は、以下のエラーが返されます。
*** Can't list domain <example.com>.: Query refused
詳細については、Microsoft Knowledge Base から提供されている以下の資料をご覧ください。
193837 Windows NT 4.0 DNS Server Default Zone Security Settings

Nslookup.exe のトラブルシューティング

デフォルト サーバーがタイムアウトした場合 :

Nslookup.exe ユーティリティの起動時に、以下のエラーが発生することがあります。
*** Can't find server name for address w.x.y.z: Timed out

注意 : <w.x.y.z> は、[DNS サービスの検索順序] リストに示された最初の DNS サーバーです。
*** Can't find server name for address 127.0.0.1: Timed out

1 番目のエラーは、DNS サーバーに到達できないか、またはサービスがそのコンピュータ上で実行されていないことを示します。この問題を解決するには、そのサーバーで DNS サービスを開始するか、または接続性に問題がないかどうかをチェックしてください。

2 番目のエラーは、[DNS サービスの検索順序] リストでサーバーが何も定義されていないことを示します。この問題を解決するには、有効な DNS サーバーの IP アドレスをリストに追加してください。

詳細については、Microsoft Knowledge Base から提供されている以下の資料をご覧ください。
172060 NSLOOKUP: 127.0.0.1 のアドレスのサーバー名を検出できません

Nslookup.exe の起動時にサーバー名が見つからない場合 :

Nslookup.exe ユーティリティの起動時に、以下のエラーが発生することがあります。

*** Can't find server name for address w.x.y.z: Non-existent domain


このエラーは、ネーム サーバーの IP アドレスに対する PTR レコードがない場合に発生します。Nslookup.exe は起動されると、逆引き参照を行って、デフォルト サーバーの名前を取得します。PTR データがない場合は、このエラー メッセージが返されます。この問題を解決するには、逆引き参照ゾーンが存在していて、そのネームサーバーの PTR レコードが含まれていることを確認してください。

詳細については、Microsoft Knowledge Base から提供されている以下の資料をご覧ください。
172953 Microsoft DNS Server のインストールおよび設定方法

子ドメインでの Nslookup が失敗した場合 :

子ドメインで問い合わせを実行したり、ゾーン転送を実行したりすると、Nslookup は以下のエラーを返すことがあります。

*** ns.domain.com can't find child.domain.com.: Non-existent domain
*** Can't list domain child.domain.com.: Non-existent domain


DNS マネージャでは、プライマリ ゾーンの下に新しいドメインを追加し、子ドメインを作成することができます。この方法で子ドメインを作成すると、そのドメインに対する個別の db ファイルは作成されません。このため、そのドメインに問い合わせを実行したりゾーン転送を実行したりすると、前述のエラーが発生します。親ドメインでゾーン転送を実行すると、親ドメインと子ドメイン両方のデータがリストされます。この問題を回避するには、子ドメインの DNS サーバーで新しいプライマリゾーンを作成してください。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 200525 (最終更新日 2000-08-23) をもとに作成したものです。

プロパティ

文書番号: 200525 - 最終更新日: 2004年3月30日 - リビジョン: 3.0
この資料は以下の製品について記述したものです。
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
キーワード:?
kbinfo KB200525
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com