dnsquery(1) リゾルバを用いて DNS に問い合わせる

書式

dnsquery [-n nameserver ] [-t type ] [-c class ] [-r retry ] [-p period ] [-d ] [-s ] [-v ] host

解説

dnsquery プログラムは、BIND リゾルバのライブラリ呼び出しによって ネームサーバとやりとりする一般的なインタフェースです。 本プログラムはオペコード QUERY によるネームサーバ問い合わせを サポートしています。 本プログラムは、nstest, nsquery, nslookup のようなプログラムを 置き換えるあるいは補うものとして作成されました。 hostnameserver 以外の引数は大文字小文字を区別しません。

オプション

-n nameserver
問い合わせに用いるネームサーバ。 ネームサーバ指定は、w.x.y.z 形式のインターネットアドレス表記でも、 ドメインネーム表記でも構いません。 (デフォルト: /etc/resolv.conf の指定。)
-t type
関心あるリソースレコード型。型には以下のものがあります:

A
アドレス
NS
ネームサーバ
CNAME
正式名
PTR     
ドメインネームへのポインタ
SOA     
権威の開始 (Start of Authority)
WKS     
よく知られたサービス (well-known service)
HINFO
ホスト情報
MINFO
メールボックス情報
MX      
メールエクスチェンジ (mail exchange)
RP      
責任者 (responsible person)
MG      
メールグループメンバ
AFSDB   
DCE または AFS サーバ
ANY     
ワイルドカード

大文字小文字どちらでも使用できます。(デフォルト: ANY )。

-c class
関心あるリソースレコードのクラス。クラスには以下のものがあります:

IN     
インターネット
HS      
Hesiod
CHAOS
Chaos
ANY     
ワイルドカード

大文字小文字どちらでも使用できます。(デフォルト: IN )。

-r retry
ネームサーバが応答しない場合のリトライ回数。(デフォルト: 4)
-p period
-p タイムアウト時間(秒)。(デフォルト: RES_TIMEOUT )。
-d
デバッグ機能を有効にする。リゾルバの Ft options フィールドの RES_DEBUG ビットをセットします。(デフォルト: デバッグ機能オフ)
-s
パケットではなく ストリーム を用います。つまり、ネームサーバとの接続に UDP データグラムではなく、 TCP ストリームを用います。リゾルバの Ft options フィールドの RES_USEVC ビットをセットします。(デフォルト: UDP データグラム)
-v
オプション ``-s '' と同じ意味です。
host
関心あるホスト名(あるいはドメイン名)。

関連ファイル

/etc/resolv.conf
デフォルトのネームサーバと検索リスト
<arpa/nameser.h>        
利用できる RR タイプとクラスの一覧
<resolv.h>              
リゾルバのフラグ一覧

診断

リゾルバが問い合わせの回答に失敗し、デバッグ機能が有効になっていない場合、 dnsquery は単に以下のようなメッセージを表示します:
Query failed (rc = 1) : Unknown host

リターンコードの値は Ft h_errno から得ます。

作者

Bryan Beecher

バグ

IN 以外のクラスを問い合わせると面白い結果が得られることがあります。 というのは、ネームサーバは普通、クラス IN のリソースレコードとして ルートネームサーバのリストだけしか持っていないからです。

本コマンドは、 Fn inet_addr を呼び出して ``-n '' オプションが 正しいインターネットアドレスかどうかを判断します。 残念ながら、 Fn inet_addr は一部の(正しくない)アドレス(例えば 1.2.3.4.5)に 対してセグメンテーションフォールトを起こすことがあるようです。