.\" %Id: dig.1,v 8.2 1997/06/01 20:34:33 vixie Exp % .\" jpman %Id: dig.1,v 1.4 1997/07/26 21:31:55 horikawa Stab % .\" .\" ++Copyright++ 1993 .\" - .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" - .\" Portions Copyright (c) 1993 by Digital Equipment Corporation. .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies, and that .\" the name of Digital Equipment Corporation not be used in advertising or .\" publicity pertaining to distribution of the document or software without .\" specific, written prior permission. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL .\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT .\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS .\" SOFTWARE. .\" - .\" --Copyright-- .\" .\" Distributed with 'dig' version 2.0 from University of Southern .\" California Information Sciences Institute (USC-ISI). .\" .\" dig.1 2.0 (USC-ISI) 8/30/90 .\" .\" Man page reformatted for this release by Andrew Cherenson .\" (arc@sgi.com) .\" .TH DIG 1 "August 30, 1990" .SH 名称 dig \- ドメイン名問い合わせパケットをネームサーバに送る .SH 書式 .B dig .RI [ @\fIserver\fP ] .I domain .RI [ "" ] .RI [ "" ] .RI [ "+" ] .RI [ "\-" ] .RI [ "%comment" ] .SH 解説 \fIdig\fP (ドメイン情報手探り器; domain information groper) は、 DNS (Domain Name System) サーバから情報を集めるために使われる 柔軟なコマンドラインツールです。 \fIdig\fP は二つのモードを持っています。 これは、一つの問い合わせを行う単純な対話的利用モードと、 いくつかの問い合わせ行のリスト中の各問い合わせを実行するバッチモードです。 全ての問い合わせオプションは、コマンドラインから利用可能です。 .PP 普通の簡単な \fIdig\fP の使用方は、以下のような形式です。 .sp 1 dig @server domain query-type query-class .sp 1 ここで、 .IP \fIserver\fP は、ドメイン名かドット表記のインターネットアドレスのどちらかです。 もし、このオプションフィールドが省略された場合、 \fIdig\fP は、そのマシンのデフォルトのネームサーバを利用しようとします。 .sp 1 \fB注意:\fP ドメイン名が指定された時は、ドメイン名システムリゾルバ (つまり、 BIND) を使うことで解決しようとします。システムが DNS を 提供していない時は、ドット形式のアドレスを指定する必要があります。 その代わりに、処理できるどこかにサーバがある場合は、 /etc/resolv.conf が存在し、デフォルトネームサーバがどこにあるかが 記述されている、つまり、 \fIserver\fP 自身が解決可能であることが 求められています。 /etc/resolv.conf についての情報は .IR resolver (5) を参照してください。 ( 注意 : /etc/resolv.conf を変更すると、標準のリゾルバライブラリと それを使ういくつかのプログラムに影響を与えます。) オプションとして、ユーザは環境変数 LOCALRES を /etc/resolv.conf の代わりに使うためのファイルに設定できます。 (LOCALRES 変数は、 \fIdig\fP リゾルバ固有のもので、標準のリゾルバでは、 参照されません。) LOCALRES 変数が設定されていないか、 設定されたファイルが読み込めない場合は、 /etc/resolv.conf が使われます。 .IP \fIdomain\fP は、あなたが情報を要求しているドメイン名です。 逆アドレスの問い合わせのための便利な方法は、-x オプションを見てください。 .IP \fIquery-type\fP は、あなたが要求している情報のタイプ(DNS 問い合わせタイプ)です。 省略された場合のデフォルトは、"a" (T_A = アドレス) が使われます。以下のタイプが認識されます。 .sp 1 .ta \w'hinfoXX'u +\w'T_HINFOXX'u .nf 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 任意の数の文字列 .fi .sp 1 (完全なリストは、RFC 1035 を参照してください。) .IP \fIquery-class\fP は、問い合わせで要求されるネットワーククラスです。 省略された場合のデフォルトは、 "in" (C_IN = Internet) です。 以下のクラスが認識されます。 .sp 1 .ta \w'hinfoXX'u +\w'T_HINFOXX'u .nf in C_IN インターネット・クラス・ドメイン any C_ANY 全て/任意のクラスの情報 .fi .sp 1 (完全なリストに付いては、 RFC 1035 を参照してください。) .sp 1 \fB注意:\fP "any" は、クラスや問い合わせのタイプを指定するために使われます。 \fIdig\fP は、最初に現れた "any" を query-type = T_ANY として解析します。 query-class = C_ANY にするためには、 "any" を2度指定するか、 "-c" オプション(以下参照)を利用して問い合わせクラスを 指定しなければなりません。 .SH その他のオプション .IP "%ignored-comment" "%" は、単に解析されない引数を含むために使われます。 これは、 \fIdig\fP をバッチモードで実行する時に有効です。 問い合わせリスト中の全ての @server-domain-name をリゾルブする代わりに、 そのオーバヘッドを避けつつコマンドライン上にドメイン名を書くことが出来ます。 以下の例を参照。 .sp 1 dig @128.9.0.32 %venera.isi.edu mx isi.edu .sp 1 .IP "\-" "\-" は、 \fIdig\fP の操作に影響を与えるオプションを指定するために 指定されます。以下のオプションが現在利用可能です ( 便利であるかどうかは保証しません )。 .RS .IP "\-x \fIdot-notation-address\fP" 逆アドレス変換を指定する便利な形式です。 "dig 32.0.9.128.in-addr.arpa" の代わりに、"dig -x 128.9.0.32" と指定できます。 .IP "\-f \fIfile\fP" \fIdig\fP のバッチモードのためのファイルです。ファイルは、 つづいて実行される問い合わせの指定 (\fIdig\fP のコマンドライン) の リストを含んでいます。 ';', '#', '\\n' で始まる行は無視されます。その他のオプションは、 コマンドラインで現れるものは、個々のバッチによる問い合わせでも 影響があります。 .IP "\-T \fItime\fP" バッチモードで実行した時、連続した問い合わせの始まる時間間隔を秒で与え ます。2 つ以上のバッチ \fIdig\fP コマンドの実行を大体同期することができる ようになります。デフォルトは 0 です。 .IP "\-p \fIport\fP" ポート番号です。標準でないポート番号で待つネームサーバに問い合わせます。 デフォルトは 53 です。 .IP "\-P[\fIping-string\fP]" 問い合わせからかえってきた後で、 .IR ping (8) コマンドを応答時間の比較のために実行します。これは、美しくないのですが、 シェルを呼出します。統計の最後の 3 行がコマンドのために 表示されます。 .sp 1 ping \-s server_name 56 3 .sp 1 オプションの "ping string" が存在した時は、シェルコマンドでは "ping \-s" を置き換えます。 .IP "\-t \fIquery-type\fP" 問い合わせのタイプを指定します。タイプフィールド内の整数値か、 上で述べたニーモニック表現 (つまり mx = T_MX) かで 指定することができます。 .IP "\-c \fIquery-class\fP" 問い合わせのクラスを指定します。クラスフィールド内の整数値か、 上で述べたニーモニック表現 (つまり in = C_IN) で 指定することができます。 .IP "\-envsav" このフラグは、全ての引数が解析された後で、 \fIdig\fP 環境 (デフォルトや表示オプション等) を デフォルト環境としてファイルに保存するために指定します。 標準のデフォルトが気に入らなく、たくさんのオプションを \fIdig\fP を 使う度に指定することが嫌な場合は便利です。 環境は、\fIdig\fP 出力 (以下参照) で詳しく述べられるフラグと同じように、 リゾルバの状態変数フラグや、タイムアウト、再試行回数からなります。 シェル環境変数 LOCALDEF がファイルの名前に設定されている場合、 これが、デフォルトの \fIdig\fP 環境が保存される場所となります。 そうでない場合は、ファイル "DiG.env" が現在の作業ディレクトリに 作成されます。 .sp 1 \fB注意:\fP LOCALDEF は、 \fIdig\fP のリゾルバ固有であり、 標準のリゾルバライブラリの操作には影響を与えません。 .sp 1 \fIdig\fP が実行される度に、 "./DiG.env" またはシェル環境変数 LOCALDEF で指定されたファイルが探されます。そのようなファイルが 存在し読める場合は、引数を解析する前にこのファイルから環境が 読み込まれます。 .IP "\-envset" このフラグは、バッチ問い合わせを実行する時にだけ影響があります。 \fIdig\fP バッチファイル中で "\-envset" が指定されていると、 この引数が解析された後の \fIdig\fP 環境は、 バッチファイルが実行されている間もしくは、 次の "\-envset" が指定されるまでの間は デフォルトの環境となります。 .IP "\-[no]stick" このフラグは、バッチ問い合わせ実行にだけ影響を与えます。 これは、 \fIdig\fP 環境を \fIdig\fP バッチファイル中での 各問い合わせ (行) の前に (初期状態もしくは、"\-envset" で設定された) 元の状態に戻すことを指定します。 デフォルトの "\-nostick" は、 \fIdig\fP 環境を回復しないという意味ですので、 \fIdig\fP バッチファイルの各行で指定されたオプションは、 後の行でもその効果が残ったままになります (つまり "sticky" の デフォルトに回復されません)。 .RE .IP "+" "+" はパケット問い合わせ中のオプション変更や \fIdig\fP 出力仕様を変更するために使われます。 これらの多くは、 .IR nslookup (8) で受け入れられるパラメータと同じものです。 オプションが値を必要とする場合、その指定形式は以下のようになります。 .sp 1 +keyword[=value] .sp 1 ほとんどのキーワードは、省略が可能です。 "+" オプションの解釈は非常に単純です。 値はキーワードとスペースで区切ってはなりません。 以下のキーワードが現在利用可能です。 .sp 1 .nf .ta \w'domain=NAMEXX'u +\w'(deb)XXX'u キーワード 省略形 意味 [デフォルト] [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]sort (sor) リソースレコードを整列 [nosor] [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) 適用 .fi .sp 1 再試行回数と時間のオプションは、問い合わせデータグラムを送る際に、 リゾルバライブラリによって使われる再送戦略に影響を与えます。 アルゴリズムは以下の通りです .sp 1 .in +5n .nf for i = 0 to retry \- 1 for j = 1 to num_servers send_query wait((time * (2**i)) / num_servers) end end .fi .in -5n .sp 1 (注意: \fIdig\fP はいつも num_servers として値 1 を使います。) .SH 詳細 \fIdig\fP は、かつて BINDの .IR resolver (3) ライブラリの変更版を要求しました。 BIND のリゾルバは、(BIND 4.9のように) \fIdig\fP を正しく 動作させるようになって来ています。本質的に、 \fIdig\fP は、 引数の解釈に(とても良くは無いですが)努力し、適当なパラメータを 設定します。\fIdig\fP は リゾルバの関数 res_init(), res_mkquery(), res_send() を使い、 また _res 構造体を操作します。 .SH 関連ファイル .ta \w'/etc/resolv.confXX'u /etc/resolv.conf 初期状態のドメイン名とネームサーバ \&./DiG.env デフォルトオプションを保存するデフォルトファイル .br .SH 環境変数 LOCALRES /etc/resolv.conf の代わりに使うファイル .br LOCALDEF デフォルトの環境ファイル .SH 作者 Steve Hotz hotz@isi.edu .SH 謝辞 \fIdig\fP は、 Andrew Cherenson によって書かれた .IR nslookup (8) の関数を使っています。 .SH バグ \fIdig\fP は "這い回る機能主義 (creeping featurism)" の深刻事例 -- 開発中に潜在的な用途をいくつか考えた結果です。 おそらく苛酷なダイエットが有効でしょう。 同様に、表示フラグと項目の粒度は、その場限りで 生まれたもので、存在理由はそれほどありません。 .PP 問題がリゾルバ中のどこかで起こった時に、 \fIdig\fP は、 (適切な状態を持って)一貫性のあるように終了しません (注意:大部分の共通の終了状態はちゃんと扱います)。 これは、バッチモードで実行している時に特に悩まされます。 異常終了した時(さらにそれを捕まえられなかった時)、バッチ全体が終了します。 そのようなイベントをとらえた時、 \fIdig\fP は単に次の問い合わせを 続けます。 .SH 関連項目 named(8), resolver(3), resolver(5), nslookup(8)