dig

ドメイン名問い合わせパケットをネームサーバに送る

dig - ドメイン名問い合わせパケットをネームサーバに送る
dig Ic @ Ns Ar server domain Aq Ar query-type Aq Ar query-class Ic + Ns Aq Ar query-option Fl Aq Ar dig-option Ar %comment
dig (ドメイン情報手探り器; domain information groper) は、 DNS (Domain Name System) サーバから情報を集めるために使われる 柔軟なコマンドラインツールです。 dig は 2 つのモードを持っています。 これは、1 つの問い合わせを行う単純な対話的利用モードと、 いくつかの問い合わせ行のリスト中の各問い合わせを実行するバッチモードです。 すべての問い合わせオプションは、コマンドラインから利用可能です。 普通の簡単な dig の使用法は、以下のような形式です。 -ragged -offset indent-two dig @ Ns Ar server domain query-type query-class ここで、 -tag -width Fl Ar server は、ドメイン名かドット表記のインターネットアドレスのどちらかです。 もし、このオプションフィールドが省略された場合、 dig は、そのマシンのデフォルトのネームサーバを利用しようとします。 注: ドメイン名が指定された時は、ドメイン名システムリゾルバ (つまり、BIND) を使うことで解決しようとします。システムが DNS を 提供していない時は、ドット形式のアドレスを指定する必要があります。 利用できるサーバがどこかにある場合は、必要なことは /etc/resolv.conf が存在し、 server 自身が解決できるように、そのデフォルトネームサーバがどこにあるかが 記述されていることだけです。 /etc/resolv.conf についての情報は resolver 5 を参照してください。 警告: /etc/resolv.conf を変更すると、標準のリゾルバライブラリと 潜在的に それを使ういくつかのプログラムに影響を与えます。 オプションとして、ユーザは環境変数 LOCALRES を設定し、 /etc/resolv.conf の代わりに使うファイルの名前を指定できます。 Ns Ev LOCALRES 変数は dig リゾルバ固有のもので、標準のリゾルバでは 参照されません 。 LOCALRES 変数が設定されていないか、 設定されたファイルが読み込めない場合は、 /etc/resolv.conf が使われます。 Ar domain は、あなたが情報を要求しているドメイン名です。 逆アドレスの問い合わせのための便利な方法は、 x オプションを参照してください(この節の その他のオプション の項で述べられています)。 Ar query-type は、あなたが要求している情報のタイプ(DNS 問い合わせタイプ)です。 省略された場合のデフォルトは、 Ar a Dv T_A = アドレス が使われます。以下のタイプが認識されます。 -hang -width hinfo T_HINFO -compact Ar a Dv T_A ネットワークアドレス Ar any Dv T_ANY 指定されたドメインのすべて/任意の情報 Ar mx Dv T_MX ドメインのメール交換情報 (MX) Ar ns Dv T_NS ネームサーバ Ar soa Dv T_SOA ゾーンの権威者を表すレコード Ar hinfo Dv T_HINFO ホスト情報 Ar axfr Dv T_AXFR ゾーン転送情報(権威を持ったサーバに尋ねなければなりません) Ar txt Dv T_TXT 任意の数の文字列 (完全なリストは、RFC 1035 を参照してください。) Ar query-class は、問い合わせで要求されるネットワーククラスです。 省略された場合のデフォルトは、 Ar in Dv C_IN = Internet です。 以下のクラスが認識されます。 -tag -width hinfo T_HINFO -compact Ar in Dv C_IN インターネットクラスドメイン Ar any Dv C_ANY すべて/任意のクラスの情報 (完全なリストは、RFC 1035 を参照してください。) 注: Ar any は、 クラス や問い合わせの タイプ を指定するために使われます。 dig は、最初に現れた Ar any を query-type = Dv T_ANY として解析します。 query-class = Dv C_ANY にするためには、 any を 2 度指定するか、 c オプション(以下参照)を利用して問い合わせクラスを 指定しなければなりません。

その他のオプション

-tag -width Fl % Ns Ar ignored-comment % は、単に解析されない引数を含むために使われます。 これは、 dig をバッチモードで実行する時に有効です。 問い合わせリスト中のすべての @server-domain-name を解決する代わりに、 そのオーバヘッドを避けつつコマンドライン上にドメイン名を書くことが出来ます。 以下の例を参照。 -ragged -offset indent-two dig @128.9.0.32 %venera.isi.edu mx isi.edu Fl Aq Ar dig option Fl は、 dig の操作に影響を与えるオプションを指定するために 使われます。以下のオプションが現在利用可能です ( 便利であるかどうかは保証しません )。 -tag -width Fl Fl x Ar dot-notation-address 逆アドレス変換を指定する便利な形式です。 Ic dig 32.0.9.128.in-addr.arpa の代わりに、 Ic dig -x 128.9.0.32 と指定できます。 Fl f Ar file dig のバッチモードのためのファイルです。ファイルは、 つづいて実行される問い合わせの指定 ( Ic dig のコマンドライン) の リストを含んでいます。 ; , # , \n で始まる行は無視されます。その他のオプションは、 コマンドラインで現れるものは、個々のバッチによる問い合わせでも 影響があります。 Fl T Ar time バッチモードで実行した時、連続した問い合わせの始まる時間間隔を秒で与え ます。2 つ以上のバッチ dig コマンドの実行を大体同期することができる ようになります。デフォルトは 0 です。 Fl p Ar port ポート番号です。標準でないポート番号で待つネームサーバに問い合わせます。 デフォルトは 53 です。 Fl p Ns Bq Ar ping-string 問い合わせからかえってきた後で、 ping 8 コマンドを応答時間の比較のために実行します。これは、美しくないのですが、 シェルを呼び出します。統計の最後の 3 行がコマンドのために 表示されます。 -ragged -offset indent-two ping Fl s server_name 56 3 オプションの Ar ping-string が存在した時は、シェルコマンドでは Ic ping Fl s を置き換えます。 Fl t Ar query-type 問い合わせのタイプを指定します。タイプフィールド内の整数値か、 上で述べたニーモニック表現 (つまり mx = Dv T_MX ) かで 指定することができます。 Fl c Ar query-class 問い合わせのクラスを指定します。クラスフィールド内の整数値か、 上で述べたニーモニック表現 (つまり in = C_IN) で 指定することができます。 Fl k Ar keydir:keyname ディレクトリ keydir 中の TSIG キー名 keyname で、問い合わせます。 Fl envsav このフラグを指定すると、すべての引数が解析された後で dig 環境 (デフォルトや表示オプション等) を デフォルト環境としてファイルに保存します。 標準のデフォルトが気に入らず、 dig を使う度にたくさんのオプションを指定することが嫌な場合は便利です。 環境は、 dig 出力 (以下参照) で詳しく述べられるフラグと同じように、 リゾルバの状態変数フラグや、タイムアウト、再試行回数からなります。 シェル環境変数 LOCALDEF がファイルの名前に設定されている場合、 これが、デフォルトの dig 環境が保存される場所となります。 そうでない場合は、ファイル DiG.env が現在の作業ディレクトリに 作成されます。 注: LOCALDEF は、 dig のリゾルバ固有であり、 標準のリゾルバライブラリの操作には影響を与えません。 dig が実行される度に、 またはシェル環境変数 LOCALDEF で指定されたファイルが探されます。そのようなファイルが 存在し読める場合は、引数を解析する前にこのファイルから環境が 読み込まれます。 Fl envset このフラグは、バッチ問い合わせを実行する時にだけ影響があります。 dig バッチファイル中で Fl envset が指定されていると、 この引数が解析された後の dig 環境は、バッチファイルが実行されている間もしくは、次の Fl envset が指定されるまでの間は、 デフォルトの環境となります。 Xo Op Cm no Cm stick このフラグは、バッチ問い合わせ実行にだけ影響を与えます。 これは、 dig 環境を dig バッチファイル中での 各問い合わせ (行) の前に (初期状態もしくは、 Fl envset で設定された) 元の状態に戻すことを指定します。 デフォルトの Fl nostick は、 dig 環境を回復しないという意味ですので、 dig バッチファイルの各行で指定されたオプションは、 後の行でもその効果が残ったままになります (つまり sticky 時のデフォルトのようには回復されません)。 Ic + Ns Aq Ar query option + はパケット問い合わせ中のオプション変更や dig 出力仕様を変更するために使われます。 これらの多くは、 nslookup 8 で受け入れられるパラメータと同じものです。 オプションが値を必要とする場合、その指定形式は以下のようになります。 -ragged -offset indent-two + Ar keyword Op = Ns Ar value ほとんどのキーワードは、省略が可能です。 + オプションの解釈は非常に単純です。 値はキーワードとスペースで区切ってはなりません。 以下のキーワードが現在利用可能です。 キーワード 省略形 意味 [デフォルト] -tag -width [no]primary (ret) -compact Xo Cm no Cm debug \ Cm deb デバッグモードを変更 Cm deb Xo Cm no Cm d2 \ 追加のデバッグモードを変更 Cm nod2 Xo Cm no Cm recurse \ Cm rec 再帰的探索を使うかどうか指定 Cm rec Xo retry= Ns Ar # \ Cm ret 再試行の回数を # に設定 4 Xo time= Ns Ar # \ Cm ti タイムアウト時間を # 秒に設定 4 Xo Cm no Cm ko 繋げておくオプション(vc を暗黙指定) Cm noko Xo Cm no Cm vc 仮想回線を使うかどうか指定 Cm novc Xo Cm no Cm defname \ Cm def デフォルトドメイン名を使うかどうか指定 Cm def Xo Cm no Cm search \ Cm sea ドメインサーチリストを使うかどうか指定 Cm sea Xo domain= Ns Ar NAME \ Cm do デフォルトドメイン名を NAME に指定 Xo Cm no Cm ignore \ Cm i trunc. エラーを無視するかどうか指定 Cm noi Xo Cm no Cm primary \ Cm pr プライマリサーバを使うかどうか指定 Cm nopr Xo Cm no Cm aaonly \ Cm aa 権威を持った問い合わせのみのフラグ Cm noaa Xo Cm no Cm cmd 解析された引数を表示 Cm cmd Xo Cm no Cm stats \ Cm st 問い合わせの統計を表示 Cm st Xo Cm no Cm Header \ Cm H 基本的なヘッダを表示 Cm H Xo Cm no Cm header \ Cm he ヘッダフラグを表示 Cm he Xo Cm no Cm ttlid \ Cm tt TTL を表示 Cm tt Xo Cm no Cm cl クラス情報を表示 Cm nocl Xo Cm no Cm qr 出て行った問い合わせを表示 Cm noqr Xo Cm no Cm reply \ Cm rep 応答節を表示 Cm rep Xo Cm no Cm ques \ Cm qu 質問節を表示 Cm qu Xo Cm no Cm answer \ Cm an 回答節を表示 Cm an Xo Cm no Cm author \ Cm au 権威節を表示 Cm au Xo Cm no Cm addit \ Cm ad 追加節を表示 Cm ad Cm pfdef デフォルト表示フラグを設定 Cm pfmin 最小のデフォルト表示フラグを設定 Cm pfset= Ns Ar # 表示フラグを # に設定 (# は 16 進 /8 進/10 進が可能です) Cm pfand= Ns Ar # 表示フラグに # とのビット論理積 (and) 適用 Cm pfor= Ns Ar # 表示フラグに # とのビット論理和 (or) 適用 再試行回数 と 時間 のオプションは、問い合わせデータグラムを送る際に、 リゾルバライブラリによって使われる再送戦略に影響を与えます。 アルゴリズムは以下の通りです -literal -offset indent for i = 0 to retry - 1 for j = 1 to num_servers send_query wait((time * (2**i)) / num_servers) end end (注: dig はいつも Li num_servers として値 1 を使います。)

詳細

dig は、かつて BINDの resolver 3 ライブラリの変更版を要求しました。 BIND のリゾルバは、(BIND 4.9のように) dig を正しく動作させるようになって来ています。本質的には、 dig は、引数の解釈と適切なパラメータ設定を(見事にではなく)卒直に行うものです。 dig はリゾルバの関数 res_init , res_mkquery , res_send を使い、また _res 構造体を操作します。
-tag -width LOCALRES -compact Ev LOCALRES /etc/resolv.conf の代わりに使うファイル Ev LOCALDEF デフォルトの環境ファイル 上述した envsav , envset , Op Cm no Cm stick オプションの説明も参照してください。
-tag -width /etc/resolv.conf -compact Pa /etc/resolv.conf 初期状態のドメイン名とネームサーバのアドレス Pa ./DiG.env デフォルトオプションを保存するデフォルトファイル
named 8 , resolver 3 , resolver 5 , nslookup 8
RFC 1035
Steve Hotz hotz@isi.edu
dig は、Andrew Cherenson によって書かれた nslookup 8 の関数を使っています。
dig は 潜行性機能過多 を患っています。 これは開発中に潜在的な用途をいくつも考えていた結果です。 苛酷なダイエットをしたらきっとよくなるでしょう。 同様に、表示フラグとそれで指定できる表示項目の粗さとから、 これらがその場限りの必要性から追加されたものだということが わかるはずです。 リゾルバ中のどこかで問題が発生した時に、 dig はうまく (しかるべき終了ステータスで) 終了してくれるとは限りません。 Sy 注: 大概のよくある終了条件はきちんと処理できます 。 これは、特にバッチモードで実行している時に頭の痛い問題です。 異常終了し (さらにそれが捕捉されなかっ) た時には、 バッチ全体が終了してしまいますが、 そのようなイベントが捕捉された時には、 dig はそのまま次の問い合わせを続けるだけです。