名称

dnsqueryリゾルバを用いて 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
関心あるリソースレコード型。型には以下のものがあります:
大文字小文字どちらでも使用できます。(デフォルト: ANY )。
-c class
関心あるリソースレコードのクラス。クラスには以下のものがあります:
大文字小文字どちらでも使用できます。(デフォルト: IN )。
-r retry
ネームサーバが応答しない場合のリトライ回数。(デフォルト: 4)
-p period
タイムアウト時間(秒)。(デフォルト: RES_TIMEOUT )。
-d
デバッグ機能を有効にする。リゾルバの options フィールドの RES_DEBUG ビットをセットします。(デフォルト: デバッグ機能オフ)
-s
パケットではなく ストリーム を用います。つまり、ネームサーバとの接続に UDP データグラムではなく、 TCP ストリームを用います。リゾルバの options フィールドの RES_USEVC ビットをセットします。(デフォルト: UDP データグラム)
-v
オプション “-s” と同じ意味です。
host
関心あるホスト名(あるいはドメイン名)。

関連ファイル

/etc/resolv.conf
デフォルトのネームサーバと検索リスト
<arpa/nameser.h>
利用できる RR タイプとクラスの一覧
<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() を呼び出して “-n” オプションが 正しいインターネットアドレスかどうかを判断します。 残念ながら、 inet_addr() は一部の(正しくない)アドレス(例えば 1.2.3.4.5)に 対してセグメンテーションフォールトを起こすことがあるようです。

Recommended readings

Pages related to dnsquery you should read also: