スポンサーリンク

DIG(1) FreeBSD 一般コマンドマニュアル DIG(1)

名称

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

は、ドメイン名かドット表記のインターネットアドレス (IPv4/IPv6) のどちらかです。もし、このオプションフィールドが 省略された場合、 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.28.in-addr.arpa’’ の代わりに、 ‘‘dig -x 28.9.0.32’’ と指定できます。

−x IPv6-address
逆アドレス変換を指定する便利な形式です。 ‘‘dig 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa’’ の代わりに、 ‘‘dig -x ::1’’ と指定できます。

−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] trunc (tr)
名前から origin を削除 [tr]
[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]
[no] dnssec (dn)
OPT 擬似レコード中で DNSSEC OK ビット を設定 [nodn]
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 はそのまま次の問い合わせを続けるだけです。
4th Berkeley Distribution       August 30, 1990      4th Berkeley Distribution
スポンサーリンク