Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all
名称
dig - ドメイン名問い合わせパケットをネームサーバに送る
書式
dig [@server] domain [⟨query-type⟩] [⟨query-class⟩] [+⟨query-option⟩] [-⟨dig-option⟩] [%comment]
解説
dig (ドメイン情報手探り器; domain information groper) は、 DNS (Domain Name System) サーバか ら情報を集めるために使われる 柔軟なコマンドラインツールです。 dig は 2 つのモードを持ってい ます。 これは、1 つの問い合わせを行う単純な対話的利用モードと、 いくつかの問い合わせ行のリス ト中の各問い合わせを実行するバッチモードです。 すべての問い合わせオプションは、コマンドライ ンから利用可能です。 普通の簡単な dig の使用法は、以下のような形式です。 dig @server domain query-type query-class ここで、 server は、ドメイン名かドット表記のインターネットアドレスのどちらかです。 もし、このオ プションフィールドが省略された場合、 dig は、そのマシンのデフォルトのネームサー バを利用しようとします。 注: ドメイン名が指定された時は、ドメイン名システムリゾルバ (つまり、BIND) を使う ことで解決しようとします。システムが DNS を 提供していない時は、ドット形式のアド レスを指定する必要があります。 利用できるサーバがどこかにある場合は、必要なこと は /etc/resolv.conf が存在し、 server 自身が解決できるように、そのデフォルトネー ムサーバがどこにあるかが 記述されていることだけです。 /etc/resolv.conf について の情報は resolver(5) を参照してください。 警告: /etc/resolv.conf を変更する と、標準のリゾルバライブラリと (潜在的に) それを使ういくつかのプログラムに影響を 与えます。 オプションとして、ユーザは環境変数 LOCALRES を設定し、 /etc/resolv.conf の代わりに使うファイルの名前を指定できます。 (LOCALRES 変数は dig リゾルバ固有のもので、標準のリゾルバでは 参照されません) 。 LOCALRES 変数が 設定されていないか、 設定されたファイルが読み込めない場合は、 /etc/resolv.conf が使われます。 domain は、あなたが情報を要求しているドメイン名です。 逆アドレスの問い合わせのための便 利な方法は、 -x オプションを参照してください(この節の その他のオプション の項で 述べられています)。 query-type は、あなたが要求している情報のタイプ(DNS 問い合わせタイプ)です。 省略された場合 のデフォルトは、 “a” (T_A = アドレス) が使われます。以下のタイプが認識されます。 a T_A ネットワークアドレス any T_ANY 指定されたドメインのすべて/任意の情報 mx T_MX ドメインのメール交換情報 (MX) ns T_NS ネームサーバ soa T_SOA ゾーンの権威者を表すレコード hinfo T_HINFO ホスト情報 axfr T_AXFR ゾーン転送情報(権威を持ったサーバに尋ねなければなりません) txt T_TXT 任意の数の文字列 (完全なリストは、RFC 1035 を参照してください。) query-class は、問い合わせで要求されるネットワーククラスです。 省略された場合のデフォルト は、 “in” (C_IN = Internet) です。 以下のクラスが認識されます。 in C_IN インターネットクラスドメイン any C_ANY すべて/任意のクラスの情報 (完全なリストは、RFC 1035 を参照してください。) 注: “any” は、 クラス や問い合わせの タイプ を指定するために使われます。 dig は、最初に現れた “any” を query-type = T_ANY として解析します。 query-class = C_ANY にするためには、 “any” を 2 度指定するか、 -c オプション(以下参照)を利用し て問い合わせクラスを 指定しなければなりません。 その他のオプション %ignored-comment “%” は、単に解析されない引数を含むために使われます。 これは、 dig をバッチモード で実行する時に有効です。 問い合わせリスト中のすべての @server-domain-name を解決 する代わりに、 そのオーバヘッドを避けつつコマンドライン上にドメイン名を書くこと が出来ます。 以下の例を参照。 dig @128.9.0.32 %venera.isi.edu mx isi.edu -⟨dig option⟩ “-” は、 dig の操作に影響を与えるオプションを指定するために 使われます。以下のオ プションが現在利用可能です ( 便利であるかどうかは保証しません )。 -x dot-notation-address 逆アドレス変換を指定する便利な形式です。 “dig 32.0.9.128.in-addr.arpa” の代わりに、 “dig -x 128.9.0.32” と指定でき ます。 -f file dig のバッチモードのためのファイルです。ファイルは、 つづいて実行さ れる問い合わせの指定 ( dig のコマンドライン) の リストを含んでいま す。 ‘;’, ‘#’, ‘\n’ で始まる行は無視されます。その他のオプションは、 コマンドラインで現れるものは、個々のバッチによる問い合わせでも 影響 があります。 -T time バッチモードで実行した時、連続した問い合わせの始まる時間間隔を秒で与 え ます。2 つ以上のバッチ dig コマンドの実行を大体同期することができ る ようになります。デフォルトは 0 です。 -p port ポート番号です。標準でないポート番号で待つネームサーバに問い合わせま す。 デフォルトは 53 です。 -p[ping-string] 問い合わせからかえってきた後で、 ping(8) コマンドを応答時間の比較の ために実行します。これは、美しくないのですが、 シェルを呼び出しま す。統計の最後の 3 行がコマンドのために 表示されます。 ping -s -server_name -56 -3 オプションの “ping-string” が存在した時は、シェルコマンドでは “ping -s” を置き換えます。 -t query-type 問い合わせのタイプを指定します。タイプフィールド内の整数値か、 上で 述べたニーモニック表現 (つまり mx = T_MX ) かで 指定することができま す。 -c query-class 問い合わせのクラスを指定します。クラスフィールド内の整数値か、 上で 述べたニーモニック表現 (つまり in = C_IN) で 指定することができま す。 -k keydir:keyname ディレクトリ keydir 中の TSIG キー名 keyname で、問い合わせます。 -envsav このフラグを指定すると、すべての引数が解析された後で dig 環境 (デ フォルトや表示オプション等) を デフォルト環境としてファイルに保存し ます。 標準のデフォルトが気に入らず、 dig を使う度にたくさんのオプ ションを指定することが嫌な場合は便利です。 環境は、 dig 出力 (以下参 照) で詳しく述べられるフラグと同じように、 リゾルバの状態変数フラグ や、タイムアウト、再試行回数からなります。 シェル環境変数 LOCALDEF がファイルの名前に設定されている場合、 これが、デフォルトの dig 環境 が保存される場所となります。 そうでない場合は、ファイル “DiG.env” が 現在の作業ディレクトリに 作成されます。 注: LOCALDEF は、 dig のリゾルバ固有であり、 標準のリゾルバライブラ リの操作には影響を与えません。 dig が実行される度に、 “./DiG.env” またはシェル環境変数 LOCALDEF で 指定されたファイルが探されます。そのようなファイルが 存在し読める場 合は、引数を解析する前にこのファイルから環境が 読み込まれます。 -envset このフラグは、バッチ問い合わせを実行する時にだけ影響があります。 dig バッチファイル中で “-envset” が指定されていると、 この引数が解析され た後の dig 環境は、バッチファイルが実行されている間もしくは、次の “-envset” が指定されるまでの間は、 デフォルトの環境となります。 -[no] stick このフラグは、バッチ問い合わせ実行にだけ影響を与えます。 これは、 dig 環境を dig バッチファイル中での 各問い合わせ (行) の前に (初期状 態もしくは、 “-envset” で設定された) 元の状態に戻すことを指定しま す。 デフォルトの “-nostick” は、 dig 環境を回復しないという意味です ので、 dig バッチファイルの各行で指定されたオプションは、 後の行でも その効果が残ったままになります (つまり “sticky” 時のデフォルトのよう には回復されません)。 +⟨query option⟩ “+” はパケット問い合わせ中のオプション変更や dig 出力仕様を変更するために使われ ます。 これらの多くは、 nslookup(8) で受け入れられるパラメータと同じものです。 オプションが値を必要とする場合、その指定形式は以下のようになります。 + keyword [=value] ほとんどのキーワードは、省略が可能です。 “+” オプションの解釈は非常に単純です。 値はキーワードとスペースで区切ってはなりません。 以下のキーワードが現在利用可能 です。 キーワード 省略形 意味 [デフォルト] [no] debug (deb) デバッグモードを変更 [deb] [no] d2 追加のデバッグモードを変更 [nod2] [no] recurse (rec) 再帰的探索を使うかどうか指定 [rec] retry=# (ret) 再試行の回数を # に設定 [4] time=# (ti) タイムアウト時間を # 秒に設定 [4] [no] ko 繋げておくオプション(vc を暗黙指定) [noko] [no] vc 仮想回線を使うかどうか指定 [novc] [no] defname (def) デフォルトドメイン名を使うかどうか指定 [def] [no] search (sea) ドメインサーチリストを使うかどうか指定 [sea] domain=NAME (do) デフォルトドメイン名を NAME に指定 [no] ignore (i) trunc. エラーを無視するかどうか指定 [noi] [no] primary (pr) プライマリサーバを使うかどうか指定 [nopr] [no] aaonly (aa) 権威を持った問い合わせのみのフラグ [noaa] [no] cmd 解析された引数を表示 [cmd] [no] stats (st) 問い合わせの統計を表示 [st] [no] Header (H) 基本的なヘッダを表示 [H] [no] header (he) ヘッダフラグを表示 [he] [no] ttlid (tt) TTL を表示 [tt] [no] cl クラス情報を表示 [nocl] [no] qr 出て行った問い合わせを表示 [noqr] [no] reply (rep) 応答節を表示 [rep] [no] ques (qu) 質問節を表示 [qu] [no] answer (an) 回答節を表示 [an] [no] author (au) 権威節を表示 [au] [no] addit (ad) 追加節を表示 [ad] pfdef デフォルト表示フラグを設定 pfmin 最小のデフォルト表示フラグを設定 pfset=# 表示フラグを # に設定 (# は 16 進 /8 進/10 進が可能です) pfand=# 表示フラグに # とのビット論理積 (and) 適用 pfor=# 表示フラグに # とのビット論理和 (or) 適用 再試行回数 と 時間 のオプションは、問い合わせデータグラムを送る際に、 リゾルバラ イブラリによって使われる再送戦略に影響を与えます。 アルゴリズムは以下の通りです for i = 0 to retry - 1 for j = 1 to num_servers send_query wait((time * (2**i)) / num_servers) end end (注: dig はいつも “num_servers” として値 1 を使います。) 詳細 dig は、かつて BINDの resolver(3) ライブラリの変更版を要求しました。 BIND のリゾルバ は、(BIND 4.9のように) dig を正しく動作させるようになって来ています。本質的には、 dig は、引 数の解釈と適切なパラメータ設定を(見事にではなく)卒直に行うものです。 dig はリゾルバの関数 res_init(), res_mkquery(), res_send() を使い、また _res 構造体を操作します。
環境変数
LOCALRES /etc/resolv.conf の代わりに使うファイル LOCALDEF デフォルトの環境ファイル 上述した -envsav, -envset, -[no] stick オプションの説明も参照してください。
関連ファイル
/etc/resolv.conf 初期状態のドメイン名とネームサーバのアドレス ./DiG.env デフォルトオプションを保存するデフォルトファイル
関連項目
named(8), resolver(3), resolver(5), nslookup(8)
規格
RFC 1035
作者
Steve Hotz hotz@isi.edu
謝辞
dig は、Andrew Cherenson によって書かれた nslookup(8) の関数を使っています。
バグ
dig は "潜行性機能過多" を患っています。 これは開発中に潜在的な用途をいくつも考えていた結果 です。 苛酷なダイエットをしたらきっとよくなるでしょう。 同様に、表示フラグとそれで指定できる 表示項目の粗さとから、 これらがその場限りの必要性から追加されたものだということが わかるはず です。 リゾルバ中のどこかで問題が発生した時に、 dig はうまく (しかるべき終了ステータスで) 終了して くれるとは限りません。 (注: 大概のよくある終了条件はきちんと処理できます) 。 これは、特に バッチモードで実行している時に頭の痛い問題です。 異常終了し (さらにそれが捕捉されなかっ) た 時には、 バッチ全体が終了してしまいますが、 そのようなイベントが捕捉された時には、 dig はそ のまま次の問い合わせを続けるだけです。