DIG(1) | General Commands Manual | 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ここで、
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
が使われます。
-x
オプションを参照してください(この節の
その他のオプション
の項で述べられています)。T_A =
アドレス
)
が使われます。以下のタイプが認識されます。
T_A
T_ANY
T_MX
T_NS
T_SOA
T_HINFO
T_AXFR
T_TXT
(完全なリストは、RFC 1035 を参照してください。)
C_IN =
Internet
) です。
以下のクラスが認識されます。
C_IN
C_ANY
(完全なリストは、RFC 1035 を参照してください。)
注:
“any” は、
クラス
や問い合わせの
タイプ
を指定するために使われます。
dig
は、最初に現れた
“any” を
query-type = T_ANY
として解析します。
query-class = C_ANY
にするためには、
“any” を 2
度指定するか、
-c
オプション(以下参照)を利用して問い合わせクラスを
指定しなければなりません。
dig
をバッチモードで実行する時に有効です。
問い合わせリスト中のすべての
@server-domain-name
を解決する代わりに、
そのオーバヘッドを避けつつコマンドライン上にドメイン名を書くことが出来ます。
以下の例を参照。
dig @128.9.0.32
%venera.isi.edu mx isi.edu
-
⟨dig
option⟩-
” は、
dig
の操作に影響を与えるオプションを指定するために
使われます。以下のオプションが現在利用可能です
(
便利であるかどうかは保証しません
)。
-x
dot-notation-addressdig 32.0.9.128.in-addr.arpa
”
の代わりに、
“dig -x 128.9.0.32
”
と指定できます。-f
filedig
のバッチモードのためのファイルです。ファイルは、
つづいて実行される問い合わせの指定
( dig
のコマンドライン)
の
リストを含んでいます。
‘;’, ‘#’, ‘\n’
で始まる行は無視されます。その他のオプションは、
コマンドラインで現れるものは、個々のバッチによる問い合わせでも
影響があります。-T
timedig
コマンドの実行を大体同期することができる
ようになります。デフォルトは
0 です。-p
port-p
[ping-string]ping
-s
-server_name
-56
-3
オプションの
“ping-string”
が存在した時は、シェルコマンドでは
“ping
-s
”
を置き換えます。
-t
query-typeT_MX
) かで
指定することができます。-c
query-class-k
keydir: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
)time=
#
(ti
)no
] ko
noko
]no
] vc
novc
]no
]
defname
(def
)def
]no
]
search
(sea
)sea
]domain=
NAME
(do
)no
]
ignore
(i
)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
)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=
#pfand=
#pfor=
#再試行回数
と 時間
のオプションは、問い合わせデータグラムを送る際に、
リゾルバライブラリによって使われる再送戦略に影響を与えます。
アルゴリズムは以下の通りです
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
構造体を操作します。
上述した -envsav
,
-envset
,
-
[no
]
stick
オプションの説明も参照してください。
RFC 1035
Steve Hotz hotz@isi.edu
dig
は、Andrew Cherenson
によって書かれた
nslookup(8)
の関数を使っています。
dig
は
"潜行性機能過多"
を患っています。
これは開発中に潜在的な用途をいくつも考えていた結果です。
苛酷なダイエットをしたらきっとよくなるでしょう。
同様に、表示フラグとそれで指定できる表示項目の粗さとから、
これらがその場限りの必要性から追加されたものだということが
わかるはずです。
リゾルバ中のどこかで問題が発生した時に、
dig
はうまく
(しかるべき終了ステータスで)
終了してくれるとは限りません。
(注:
大概のよくある終了条件はきちんと処理できます)
。
これは、特にバッチモードで実行している時に頭の痛い問題です。
異常終了し
(さらにそれが捕捉されなかっ)
た時には、
バッチ全体が終了してしまいますが、
そのようなイベントが捕捉された時には、
dig
はそのまま次の問い合わせを続けるだけです。
August 30, 1990 | BSD 4 |