nslookup(8) インターネットネームサーバに対話的に問い合わせる

書式

nslookup [-option ... ] [host-to-find | -[server ] ]

解説

nslookup はインターネットネームサーバに問い合わせを行います。 nslookup には対話モードと非対話モードの 2 つのモードがあります。 対話モードでは、 様々なホストやドメインの情報をネームサーバに対して問い合わせたり、 あるドメイン内のホスト一覧を表示することができます。 非対話モードでは、あるホストもしくはドメインの名前および 要求した情報のみが表示されます。

引数

次の場合は対話モードに入ります。

a)
引数が与えられなかったとき(デフォルトのネームサーバを利用します)。
b)
最初の引数がハイフン (-) であり、2 番目の引数がネームサーバの ホスト名もしくは IP アドレスであるとき。

検索したいホストの名前もしくは IP アドレスが最初の引数として与えられた場合は、 非対話モードになります。 2 番目の引数はオプションで、ネームサーバのホスト名もしくは IP アドレスを 指定します。

``set '' コマンドを使うオプションは、ホームディレクトリの .nslookuprc ファイルに 1 行に 1 つずつ書くことでも指定できます。 オプションはコマンドラインで指定することも可能です。その場合、 前にハイフンをつけ、引数より先に書きます。たとえば、デフォルトの問い合わせを ホスト情報に変更し、初期タイムアウトを 10 秒とするには、

        nslookup -query=hinfo  -timeout=10
とします。

対話コマンド

コマンドは control-C を入力することでいつでも中断できます。 終了するには、 control-D (EOF ) もしくは exit を入力します。 コマンドラインの長さは 256 文字以下でなければなりません。 内部コマンドをホスト名として扱うには、 エスケープ文字 (\) を頭につけます。 注意: 解釈できないコマンドはホスト名として扱われます。

host [server ]
host についての情報を現在のデフォルトサーバ、もしくは server が指定されている場合はそのサーバに問い合わせます。 host が IP アドレスであり、問い合わせタイプが A もしくは PTR であるときは、ホスト名が返されます。 host が 名前であり、最後にピリオドがないときには、 その後ろにデフォルトのドメイン名が付加されます(この動作は、 set オプションの domain , srchlist , defname , search に依存します)。

現在のドメインにないホストについて調べるときには、 名前の末尾にピリオドを付加します。

server domain
lserver domain
デフォルトサーバを domain に変更します。 lserverdomain についての情報を探すのに初期サーバを使い、 server は現在のデフォルトサーバを使います。 公式の答えが見つからないときには、答えを持つ可能性のある サーバ名が返されます。
root
デフォルトサーバをドメイン名空間のルートサーバに変更します。 現在のところホスト ns.internic.net が使われます (このコマンドは ``lserver ns.internic.net '' に同義です)。 ルートサーバ名は ``set root '' コマンドで変更できます。
finger [name ] [> filename ]
finger [name ] [>> filename ]
現在のホストにあるフィンガーサーバと接続します。 現在のホストは、以前の問い合わせが成功し、アドレス情報が 返されたときに定義されます( ``set querytype=A '' 参照)。 name はオプションです。 >>> は普通に出力をリダイレクトするのに使えます。
ls [option ] domain [> filename ]
ls [option ] domain [>> filename ]
domain について入手できる情報の一覧を出します。 オプションでファイル filename を作成あるいは filename に追加できます。 デフォルトの出力にはホスト名とその IP アドレスが含まれます。 option は下記のいずれかです。

-t querytype
指定したタイプの全レコードの一覧を出力します(下記の querytype 参照)。
-a
そのドメイン内での、各ホストのエイリアス一覧を出力します。 ``-t CNAME '' と同義です。
-d
そのドメインの全レコードの一覧を出力します。 ``-t ANY '' と同義です。
-h
そのドメインの CPU 及び OS 情報を出力します。 ``-t HINFO '' と同義です。
-s
そのドメイン内のホストの良く知られた (well-known) サービスの一覧を出力します。 ``-t WKS '' と同義です。

出力がファイルにリダイレクトされるときには、サーバから 50 レコードを 受け取るたびにハッシュマークが表示されます。

view filename
直前の ls コマンドの出力を並べ変え、 more(1) で出力します。
help
?
コマンドの簡単な要約を表示します。
exit
プログラムを終了します。
set keyword [= value ]
このコマンドは探索に影響するオプションを変更するのに使われます。 有効な keyword は以下の通りです。

all
よく使われる set のオプションの現在の値を表示します。 現在のデフォルトサーバとホストに関する情報も表示されます。
class= value
問い合わせのクラスを次のいずれかに変更します。

IN
インターネットクラス。
CHAOS
chaos クラス。
HESIOD
MIT Athena Hesiod クラス。
ANY
上記すべて。

クラスは情報のプロトコルグループを特定します。

(デフォルト = IN; 略記 = cl

[no ] debug
デバッグモードにします。サーバに送られるパケットとそれに 対する返答について、より多くの情報が表示されます。

(デフォルト = nodebug 略記 = Op Ic no deb

[no ] d2
詳細なデバッグモードにします。 パケットごとに重要なすべてのフィールドが表示されます。

(デフォルト = nod2

domain= name
デフォルトドメイン名を name に変更します。 defnamesearch オプションの設定に応じて、 探索要求されるホスト名にデフォルトドメイン名が付加されます。 デフォルトドメイン名が 2 つ以上の要素から なるとき、ドメインサーチリストにはデフォルトドメインの親が含まれます。 たとえば、デフォルトドメイン名が
CC.Berkeley.EDU であるとき、サーチリストは CC.Berkeley.EDU 及び Berkeley.EDU です。 異なるリストを指定するには、 ``set srchlist '' コマンドを使います。 このリストを表示するには、 ``set all '' コマンドを使います。

(デフォルト = hostname(1) から得た値, /etc/resolv.conf あるいは LOCALDOMAIN; 略記 = do

srchlist= name1/name2/...
デフォルトドメイン名を name1 にし、ドメインサーチリストを name1 , name2 , etc. に変更します。スラッシュ (/) で区切って 最大 6 つまで指定可能です。 たとえば
set srchlist=lcs.MIT.EDU/ai.MIT.EDU/MIT.EDU

の場合、ドメインを lcs.MIT.EDU にし、サーチリストを上の 3 つの名前に 設定します。 このコマンドは、 ``set domain '' コマンドによるデフォルトドメイン名と サーチリストを上書きします。 リストを表示するには、 ``set all '' コマンドを使います。

(デフォルト = hostname(1) に基づく値, /etc/resolv.conf あるいは LOCALDOMAIN 略記 = srchl

[no ] defname
これが設定されると、単一要素からなる問い合わせ(すなわちピリオドのないもの) に対して、 指定したデフォルトドメイン名が付加されます。

(デフォルト = defname 略記 = Op Ic no defname

[no ] search
問い合わせ要求にピリオドが少なくとも 1 つ含まれているが ピリオドで終っては いない 場合、 答えが受け取れるまで、ドメインサーチリスト内のドメイン名を 付加します。

(デフォルト = search 略記 = Op Ic no sea

port= value
デフォルトのネームサーバの TCP/UDP ポートを value に変更します。

(デフォルト = 53; 略記 = po

querytype= value
type= value
問い合わせる情報の種類を変更します。情報は次のうちのいずれかです。

A
ホストの IP アドレス。
CNAME
別名に対する正式名。
HINFO
ホストの CPU と OS の種類。
MINFO
メールボックスもしくは、メールリストに関する情報。
MX
メール交換ホスト。
NS
その名前空間内のネームサーバ。
PTR
問い合わせが IP アドレスであればホスト名、そうでなければ それ以外の情報へのポインタ。
SOA
ドメインの ``権威開始 (start-of-authority)'' 情報。
TXT
テキスト情報。
UINFO
ユーザ情報。
WKS
サポートする、よく知られたサービス。

他のタイプ (ANY, AXFR, MB, MD, MF, NULL ) については、ドキュメント

RFC-1035 に書かれています。

(デフォルト = A 略記 = q, ty

[no ] recurse
サーバが情報を持っていないときに、他のサーバに問い合わせるよう 指示します。

(デフォルト = recurse 略記 = Op Ic no rec

retry= number
リトライ回数を number 回とします。 要求に対する返答をある時間内 ( ``set timeout '' で変更できる) に 受け取らなかったとき、タイムアウト期間は 2 倍にされ、 要求が再送されます。
retry の値は、あきらめるまでに要求を何回再送するかを決めます。

(デフォルト = 4, 略記 = ret

root= host
ルートネームサーバ名を host に変更します。 これは ``root '' コマンドに影響します。

(デフォルト = ns.internic.net 略記 = ro

timeout= number
返答を待つ初期タイムアウト間隔を number 秒に変更します。 リトライのたびにタイムアウト間隔は倍になります。

(デフォルト = 5 seconds; 略記 = ti

[no ] vc
サーバに要求を出すときに、常に仮想回路 (virtual circuit) を使います。

(デフォルト = novc 略記 = Op Ic no v

[no ] ignoretc
パケットトランケーションエラーを無視します。

(デフォルト = noignoretc 略記 = Op Ic no ig

診断

問い合わせが失敗した場合、エラーメッセージが表示されます。 エラーには次のようなものがあります。

Timed out
サーバに対する要求を、( ``set timeout= value '' で変更できる)ある時間 の間に( ``set retry= value '' で変更できる)ある回数だけ リトライしましたが、応答しませんでした。
response from server
サーバマシンでネームサーバが動いていません。
records
ホスト名は正しいのですが、そのホストについて現在の問い合わせに 関する情報をサーバが持っていません。 問い合わせる情報は ``set querytype '' コマンドで指定できます。
Non-existent domain
そのホスト名もしくはドメイン名が存在しません。
Connection refused
Network is unreachable
現在のところネームサーバもしくはフィンガーサーバに対して 接続できません。 このエラーは一般に lsfinger 要求に対して起こります。
Server failure
ネームサーバが内部でデータベースの矛盾を発見したため 正しい答えが返せませんでした。
Refused
ネームサーバが要求に対するサービスを拒否しました。
Format error
ネームサーバは要求パケットが適切なフォーマットになっていないと 判断しました。 nslookup 内にエラーがあるのかもしれません。

関連ファイル

/etc/resolv.conf
ドメイン名の初期値とネームサーバのアドレスを記述するファイルです。
$HOME/.nslookuprc
ユーザ用の初期化オプションを記述するファイルです。
/usr/share/misc/nslookup.help
コマンドの要約です。

環境変数

HOSTALIASES
ホスト名のエイリアスを記述したファイル。
LOCALDOMAIN
デフォルトドメインを上書きします。

作者

Andrew Cherenson