dnsquery

dnsquery リゾルバを用いて DNS に問い合わせる
dnsquery Fl n Ar nameserver Fl t Ar type Fl c Ar class Fl r Ar retry Fl p Ar period Fl d Fl s Fl v host
dnsquery プログラムは、BIND リゾルバのライブラリ呼び出しによって ネームサーバとやりとりする一般的なインタフェースです。 本プログラムはオペコード QUERY によるネームサーバ問い合わせを サポートしています。 本プログラムは、nstest, nsquery, nslookup のようなプログラムを 置き換えるあるいは補うものとして作成されました。 host と nameserver 以外の引数は大文字小文字を区別しません。
-tag -width Fl Fl n Ar nameserver 問い合わせに用いるネームサーバ。 ネームサーバ指定は、w.x.y.z 形式のインターネットアドレス表記でも、 ドメインネーム表記でも構いません。 (デフォルト: /etc/resolv.conf の指定。) Fl t Ar type 関心あるリソースレコード型。型には以下のものがあります: -tag -width AFSDB -compact -offset indent Ar A アドレス Ar NS ネームサーバ Ar CNAME 正式名 Ar PTR ドメインネームへのポインタ Ar SOA 権威の開始 (Start of Authority) Ar WKS よく知られたサービス (well-known service) Ar HINFO ホスト情報 Ar MINFO メールボックス情報 Ar MX メールエクスチェンジ (mail exchange) Ar RP 責任者 (responsible person) Ar MG メールグループメンバ Ar AFSDB DCE または AFS サーバ Ar ANY ワイルドカード 大文字小文字どちらでも使用できます。(デフォルト: ANY )。 Fl c Ar class 関心あるリソースレコードのクラス。クラスには以下のものがあります: -tag -width CHAOS -compact -offset indent Ar IN インターネット Ar HS Hesiod Ar CHAOS Chaos Ar ANY ワイルドカード 大文字小文字どちらでも使用できます。(デフォルト: IN )。 Fl r Ar retry ネームサーバが応答しない場合のリトライ回数。(デフォルト: 4) Fl p Ar period -p タイムアウト時間(秒)。(デフォルト: RES_TIMEOUT )。 Fl d デバッグ機能を有効にする。リゾルバの options フィールドの RES_DEBUG ビットをセットします。(デフォルト: デバッグ機能オフ) Fl s パケットではなく ストリーム を用います。つまり、ネームサーバとの接続に UDP データグラムではなく、 TCP ストリームを用います。リゾルバの options フィールドの RES_USEVC ビットをセットします。(デフォルト: UDP データグラム) Fl v オプション Fl s と同じ意味です。 Ar host 関心あるホスト名(あるいはドメイン名)。
-tag -width <arpa/nameser.h> -compact Pa /etc/resolv.conf デフォルトのネームサーバと検索リスト Pa <arpa/nameser.h> 利用できる RR タイプとクラスの一覧 Pa <resolv.h> リゾルバのフラグ一覧
リゾルバが問い合わせの回答に失敗し、デバッグ機能が有効になっていない場合、 dnsquery は単に以下のようなメッセージを表示します: Query failed (rc = 1) : Unknown host リターンコードの値は h_errno から得ます。
nslookup 8 , nstest 1 , nsquery 1 , named 8 , resolver 5
Bryan Beecher
IN 以外のクラスを問い合わせると面白い結果が得られることがあります。 というのは、ネームサーバは普通、クラス IN のリソースレコードとして ルートネームサーバのリストだけしか持っていないからです。 本コマンドは、 inet_addr を呼び出して Fl n オプションが 正しいインターネットアドレスかどうかを判断します。 残念ながら、 inet_addr は一部の(正しくない)アドレス(例えば 1.2.3.4.5)に 対してセグメンテーションフォールトを起こすことがあるようです。