Go to main content
マニュアルページ セク ション 1M: シ ステム管理コマン ド

印刷ビューの終了

更新: 2016年12月6日
 
 

dig(1M)

名前

dig - DNS 検索ユーティリティー

形式

dig [@server] [-b address] [-c class] [-f filename] 
     [-k filename] [-m] [-p port#] [-q name] [-t type] [-x addr] 
     [-y [hmac:]name:key] [-4] [-6] [name] [type] [class] [queryopt]...
dig [-h]
dig [global-queryopt...] [query...]

説明

dig (Domain Information Groper) ユーティリティーは、DNS ネームサーバーに問い合わせるための柔軟性に優れたツールです。dig ユーティリティーは、DNS 検索を実行し、照会したネームサーバーから返された回答を表示します。dig ユーティリティーは、柔軟性に優れ、使いやすく、出力が明確であるため、ほとんどの DNS 管理者がこのユーティリティーを使用して DNS の問題をトラブルシューティングします。ほかの検索ツールは、多くの場合で dig ほど機能性に優れていません。

通常、dig は、コマンド行引数とともに使用されますが、ファイルから検索要求を読み取るバッチモード操作にも対応します。–h オプションを指定すると、そのコマンド行引数とオプションの簡単なサマリーが出力されます。以前のバージョンとは異なり、BIND 9 における dig の実装では、コマンド行から複数の検索を発行できます。

特定のネームサーバーに照会するよう指示されていないかぎり、dig は、/etc/resolv.conf に記載されている各サーバーに照会します。

コマンド行引数またはオプションを指定しない場合、dig は、「.」(ルート) に対して NS クエリーを実行します。

${HOME}/.digrc を使用すると、dig のユーザーごとのデフォルトを設定できます。コマンド行引数の前に、このファイルが読み取られ、含まれているオプションが適用されます。

クラス名 IN および CH は、トップレベルドメイン名 IN および CH と一致します。これらのトップレベルドメインを検索するときは、–t オプションおよび –c オプションを使用してタイプとクラスを指定するか、"IN." および "CH." を使用します。

簡単な使用法

一般的な dig の呼び出しを次に示します。

dig @server name type 

各表記の意味は次のとおりです。

server

照会するネームサーバーの名前または IP アドレス。ドット区切り 10 進表記の IPv4 アドレスか、コロン区切り表記の IPv6 アドレスを指定できます。指定された server 引数がホスト名の場合、dig は、その名前を解決してから、そのネームサーバーに照会します。server 引数を指定しない場合、dig/etc/resolv.conf を参照し、そのファイルに記載されているネームサーバーに照会します。応答したネームサーバーからの応答が表示されます。

name

検索するリソースレコードの名前。

type

どのタイプのクエリーが必要かを示します (ANY、A、MX、SIG など)。type には、任意の有効なクエリータイプを指定できます。type 引数を指定しない場合、dig は、A レコードの検索を実行します。

オプション

サポートしているオプションは、次のとおりです。

–4

IPv4 トランスポートのみを使用します。デフォルトでは、IPv4 トランスポートと IPv6 トランスポートの両方を使用できます。オプション –4 とオプション –6 は相互に排他的です。

–6

IPv6 トランスポートのみを使用します。デフォルトでは、IPv4 トランスポートと IPv6 トランスポートの両方を使用できます。オプション –4 とオプション –6 は相互に排他的です。

–b address

クエリーのソース IP アドレスを address に設定します。これは、ホストのいずれかのネットワークインタフェース上の有効なアドレスか、0.0.0.0 または :: である必要があります。#<port> を追加して、オプションのポートを指定できます。

–c class

デフォルトのクエリークラス (インターネットを表す IN) をオーバーライドします。class 引数は、HS (Hesiod レコード) や CH (CHAOSNET レコード) などの有効な任意のクラスです。

–f filename

ファイル filename から、処理対象の検索要求のリストを読み取って、バッチモードで動作します。ファイルには、1 行に 1 つずつ、複数のクエリーが含まれています。ファイル内の各エントリは、コマンド行インタフェースを使用して dig で発行するクエリーを指定する場合と同じように構成するようにしてください。

–h

コマンド行引数およびオプションの簡単なサマリーを出力します。

–k filename

dig によって送信される DNS クエリーとその応答に、トランザクション署名 (Transaction Signature、TSIG) を使用して署名するための TSIG 鍵ファイルを指定します。

–m

メモリー使用量のデバッグを有効にします。

–p port#

標準以外のポート番号を照会します。port# 引数は、dig が標準の DNS ポート番号 53 の代わりにクエリーを送信するポート番号です。このオプションを使用すると、標準以外のポート番号でクエリーを待機するように構成されているネームサーバーをテストできます。

–q name

クエリー名を name に設定します。これは、クエリー名をほかの引数と容易に区別できるという点で便利です。

–t type

クエリータイプを type に設定します。これには、BIND9 でサポートされている有効なクエリータイプを指定できます。逆検索を示す –x オプションが指定されていないかぎり、デフォルトのクエリータイプは「A」です。タイプ AXFR を指定することによって、ゾーン転送を要求できます。増分ゾーン転送 (Incremental Zone Transfer、IXFR) が必要な場合は、typeixfr=N に設定します。増分ゾーン転送には、ゾーンの SOA レコードのシリアル番号が N であった時点以降にゾーンに加えられた変更が含まれます。

–x addr

逆検索を簡略化します (アドレスを名前にマッピングします)。addr 引数は、ドット区切り 10 進表記の IPv4 アドレスか、コロン区切りの IPv6 アドレスです。このオプションを使用する場合は、nameclass、および type の各引数を指定する必要はありません。dig ユーティリティーは、自動的に 11.12.13.10.in-addr.arpa などの名前の検索を実行し、クエリーのタイプとクラスをそれぞれ PTR と IN に設定します。デフォルトでは、IPv6 アドレスはニブル形式を使用して IP6.ARPA ドメインで検索されます。IP6.INT ドメインを使用する以前の RFC1886 方式を使用するには、–i オプションを指定します。ビット文字列ラベル (RFC 2874) は、実験的な段階であり、試行されません。

–y [hmac:]name:key

コマンド行でトランザクション署名 (TSIG) 鍵を指定します。これは、dig によって送信される DNS クエリーと、その応答に署名するために行います。–y オプションを使用すると、TSIG 鍵自体をコマンド行で指定することもできます。オプションの hmac は TSIG のタイプであり、デフォルトは HMAC-MD5 です。name 引数は TSIG 鍵の名前であり、key 引数は実際の鍵です。鍵は base-64 でエンコードされた文字列であり、通常は、dnssec-keygen(1M) によって生成されます。

鍵が ps(1) の出力またはシェルの履歴ファイルに示されるため、複数ユーザーシステムで –y オプションを使用するときは注意するようにしてください。dig で TSIG 認証を使用する場合は、照会されるネームサーバーが、使用される鍵とアルゴリズムを認識できる必要があります。BIND では、named.conf で適切な key 文と server 文を指定します。

クエリーオプション

dig ユーティリティーには、検索方法と結果の表示方法に影響を与える多数のクエリーオプションが用意されています。これらのクエリーオプションを使用すると、クエリーヘッダーのフラグビットを設定/リセットしたり、回答のどの部分を出力するかを決定したり、タイムアウト/再試行方針を決定したりできます。

各クエリーオプションは、プラス記号 (+) とそれに続くキーワードによって識別されます。一部のキーワードは、オプションを設定またはリセットします。これらのキーワードの前に文字列 no を指定すると、そのキーワードの意味を否定できます。タイムアウトの間隔など、オプションに値を割り当てるキーワードもあります。これらは、+keyword= value の形式をとります。クエリーオプションを次に示します。

+[no]tcp

ネームサーバーに照会するときに TCP を使用します [使用しません]。デフォルトの動作では UDP が使用されます。ただし、TCP 接続が使用される AXFR または IXFR クエリーが要求された場合を除きます。

+[no]vc

ネームサーバーに照会するときに TCP を使用します [使用しません]。+[no]tcp の代替構文は下位互換性を確保するために用意されています。「vc」は、「virtual circuit (仮想回路)」を表します。

+[no]ignore

TCP で再試行する代わりに、UDP 応答での切り捨てを無視します。デフォルトでは、TCP での再試行が実行されます。

+domain=somename

/etc/resolv.confdomain 指令で指定された場合と同じように単一のドメイン somename を含めるように検索リストを設定し、+search オプションが指定された場合と同じように検索リストが処理されるようにします。

+[no]search

searchlist、または存在する場合は resolv.confdomain 指令で定義されている検索リストを使用します [使用しません]。デフォルトでは、検索リストは使用されません。

+[no]showsearch

中間結果を表示して検索を実行します [実行しません]。

+[no]defname

非推奨、+[no]search の同義語として処理されます。

+[no]aaonly

クエリーで aa フラグを設定します。

+[no]aaflag

+[no]aaonly の同義語です。

+[no]adflag

クエリーで AD (Authentic Data、認証済みデータ) ビットを設定します [設定しません]。これは、サーバーのセキュリティーポリシーに従って、すべての回答セクションおよび権限セクションが検証されたかどうかにかかわらず、安全であると応答するようにサーバーに要求します。設定 AD=1 は、すべてのレコードが安全であると検証されいて、回答が OPT-OUT の範囲からではないことを示します。AD=0 は、回答の一部が安全ではないか、検証されていないことを示します。

+[no]cdflag

クエリーで CD (Checking Disabled、チェック無効) ビットを設定します [設定しません]。これは、応答の DNSSEC 検証を実行しないようにサーバーに要求します。

+[no]cl

レコードを出力するときに CLASS を表示します [表示しません]。

+[no]ttlid

レコードを出力するときに TTL を表示します [表示しません]。

+[no]recurse

クエリーで RD (Recursion Desired、再帰要望) ビットの設定を切り替えます。デフォルトでは、このビットは設定されています。これは、dig で通常は再帰クエリーが送信されることを意味します。+nssearch または +trace クエリーオプションが使用されている場合、再帰は自動的に無効になります。

+[no]nssearch

このオプションを設定すると、dig は、検索対象の名前が含まれるゾーンの信頼できるネームサーバーを見つけて、各ネームサーバーが持つゾーンの SOA レコードを表示しようとします。

+[no]trace

検索対象の名前の、ルートネームサーバーからの委譲パスのトレースの有効/無効を切り替えます。デフォルトでは、トレースは無効になっています。トレースを有効にすると、dig は、反復クエリーを実行して検索対象の名前を解決します。ルートサーバーからのリフェラルを追跡し、検索の解決に使用した各サーバーからの回答を表示します。

+[no]cmd

出力の中にある、dig のバージョンと適用されているクエリーオプションを識別する先頭のコメントの有無を切り替えます。デフォルトでは、このコメントは出力されます。

+[no]short

簡易形式の回答を表示します。デフォルトでは、詳細形式の回答が出力されます。

+[no]identify

+short オプションが有効になっている場合に、回答を返したサーバーの IP アドレスおよびポート番号を表示します [表示しません]。短い形式の回答を要求した場合、デフォルトでは、回答を返したサーバーの発信元アドレスおよびポート番号は表示されません。

+[no]comments

出力でのコメント行の表示の有無を切り替えます。デフォルトでは、コメントが出力されます。

+[no]stats

クエリーが発行された時刻、応答のサイズなどの統計情報の出力の有無を切り替えます。デフォルトの動作では、クエリーの統計情報が出力されます。

+[no]qr

クエリーが送信されたときにクエリーを出力します [出力しません]。デフォルトでは、クエリーは出力されません。

+[no]question

回答が返されたときに、クエリーの質問セクションを出力します [出力しません]。デフォルトでは、質問セクションがコメントとして出力されます。

+[no]answer

応答の回答セクションを表示します [表示しません]。デフォルトでは表示されます。

+[no]authority

応答の権限セクションを表示します [表示しません]。デフォルトでは表示されます。

+[no]additional

応答の追加セクションを表示します [表示しません]。デフォルトでは表示されます。

+[no]all

すべての表示フラグを設定またはクリアします。

+time=T

クエリーのタイムアウトを T 秒に設定します。デフォルトのタイムアウトは 5 秒です。T を 1 未満に設定しようとした場合、1 秒が適用されます。

+tries=T

UDP での最大試行回数を T に設定します。デフォルトの数値は 3 (最初の試行が 1 回と、その後の再試行が 2 回) です。T が 0 以下の場合、再試行回数は自動的に 1 に切り上げられます。

+retry=T

UDP での再試行回数を T に設定します。デフォルトは 2 です。

+ndots=D

name に示すドットの数を D に設定します。この数のドットが含まれる名前は絶対名と見なされます。デフォルト値は、/etc/resolv.confndots 文を使用して定義されている値です。ndots 文が存在しない場合は 1 です。ドットがこの値よりも少ない名前は、相対名と解釈され、/etc/resolv.confsearch 指令または domain 指令に示されているドメイン内で検索されます。

+bufsize=B

EDNS0 を使用して通知される UDP メッセージバッファーサイズを B バイトに設定します。このバッファーの最大および最小サイズはそれぞれ 65535 と 0 です。この範囲外の値は、適切に切り上げられるか、切り下げられます。

+edns=#

クエリーで使用される EDNS バージョンを指定します。有効な値の範囲は 0 - 255 です。EDNS バージョンを設定すると、EDNS クエリーが送信されます。+noedns により、記憶されている EDNS バージョンはクリアされます。

+[no]multiline

SOA レコードなどのレコードを、詳細な複数行形式で、人間が読める形式のコメントとともに出力します。デフォルトでは、dig 出力をマシンで容易に解析できるようにするため、各レコードが 1 行に 1 つずつ出力されます。

+[no]fail

SERVFAIL を受け取った場合に、次のサーバーを試行しません。デフォルトでは次のサーバーを試行しません。これは、通常のスタブリゾルバとは逆の動作です。

+[no]besteffort

不正な形式のメッセージの内容を表示しようとします。デフォルトでは、不正な形式の回答は表示されません。

+[no]dnssec

クエリーの追加セクションの OPT レコードで DNSSEC OK (DO) ビットを設定し、DNSSEC レコードが送信されるよう要求します。

+[no]sigchase

DNSSEC 署名チェーンを追跡します。–DDIG_SIGCHASE を使用して dig をコンパイルする必要があります。

+trusted-key=####

+sigchase で使用される信頼できる鍵が含まれるファイルを指定します。DNSKEY レコードは、1 行に 1 つずつ記述する必要があります。

ファイルを指定しない場合、dig は、/etc/trusted-key.key、現在のディレクトリの trusted-key.key の順に検索します。

–DDIG_SIGCHASE を使用して dig をコンパイルする必要があります。

+[no]topdown

DNSSEC 署名チェーンを追跡するときに、トップダウン検証を実行します。–DDIG_SIGCHASE を使用して dig をコンパイルする必要があります。

+[no]nsid

クエリーを送信するときに、EDNS ネームサーバーの ID 要求を含めます。

複数のクエリー

BIND 9 における dig の実装では、(–f バッチファイルオプションのサポートに加えて) コマンド行での複数のクエリーの指定がサポートされます。これらの各クエリーは、それぞれ一連のフラグ、オプション、およびクエリーオプションを設定して発行できます。

この場合、各 query 引数は、前述のコマンド行構文での個々のクエリーを表します。各クエリーは、標準のオプションとフラグ、検索対象の名前、クエリータイプ (オプション)、クラス、およびそのクエリーに適用するクエリーオプションで構成されます。

すべてのクエリーに適用するクエリーオプションのグローバルセットを設定することもできます。これらのグローバルなクエリーオプションは、コマンド行で、名前、クラス、タイプ、オプション、フラグ、およびクエリーオプションの最初の組の前に指定する必要があります。グローバルなクエリーオプション (+[no]cmd オプションを除く) は、クエリーごとの一連のクエリーオプションで上書きできます。例:

dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr

この例は、コマンド行から dig を使用して、3 つの検索 (www.isc.org の ANY クエリー、127.0.0.1 の逆検索、および isc.org の NS レコードのクエリー) を実行する方法を示しています。グローバルなクエリーオプション +qr が適用されているため、dig によって、発行された最初のクエリーが各検索で表示されます。最後のクエリーには、ローカルなクエリーオプション +noqr が指定されています。これは、dig によって、isc.org の NS レコードを検索したときに、最初のクエリーが出力されないことを意味しています。

ファイル

/etc/resolv.conf

リゾルバ構成ファイル

${HOME}/.digrc

ユーザー定義構成ファイル

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
network/dns/bind
インタフェースの安定性
流動的

関連項目

dnssec-keygen(1M)host(1M)named(1M)nslookup(1M)attributes(5)

RFC 1035

『BIND 9 Administrator's Reference Manual』を参照してください。このマニュアルページの発行日付時点で、このドキュメントは https://kb.isc.org/article/AA-01031https://kb.isc.org/article/AA-01031 から利用できます。

バグ

クエリーオプションが多すぎる可能性があります。

nslookup(1M) および dig で、「Not Implemented」が NOTIMPL ではなく NOTIMP と報告されるようになりました。これは、NOTIMPL を検索するスクリプトに影響します。