DNSQUERY(1)

名称
dnsquery - リゾルバを用いて DNS に問い合わせる

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

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

オプション

-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
    タイムアウト時間(秒)。(デフォルト: 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)に 対してセグメンテーションフォールトを起こすことがあるようです。