nslookup —
インターネットネームサーバに対話的に問い合わせる
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
に変更します。
lserver は
domain
についての情報を探すのに初期サーバを使い、
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; 略記 =
[no]
deb)
- [no]
d2
- 詳細なデバッグモードにします。
パケットごとに重要なすべてのフィールドが表示されます。
(デフォルト =
nod2)
-
domain=name
- デフォルトドメイン名を
name
に変更します。
defname と
search
オプションの設定に応じて、
探索要求されるホスト名にデフォルトドメイン名が付加されます。
デフォルトドメイン名が
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
つまで指定可能です。
たとえば
の場合、ドメインを
lcs.MIT.EDU
にし、サーチリストを上の
3 つの名前に
設定します。
このコマンドは、
“set domain”
コマンドによるデフォルトドメイン名と
サーチリストを上書きします。
リストを表示するには、
“set all”
コマンドを使います。
(デフォルト =
hostname(1)
に基づく値,
/etc/resolv.conf
あるいは
LOCALDOMAIN
; 略記 =
srchl)
- [no]
defname
- これが設定されると、単一要素からなる問い合わせ(すなわちピリオドのないもの)
に対して、
指定したデフォルトドメイン名が付加されます。
(デフォルト =
defname; 略記 =
[no]
defname)
- [no]
search
- 問い合わせ要求にピリオドが少なくとも
1 つ含まれているが
ピリオドで終っては
いない
場合、
答えが受け取れるまで、ドメインサーチリスト内のドメイン名を
付加します。
(デフォルト =
search; 略記 =
[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; 略記 =
[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; 略記 =
[no]
v)
- [no]
ignoretc
- パケットトランケーションエラーを無視します。
(デフォルト =
noignoretc; 略記 =
[no]
ig)
問い合わせが失敗した場合、エラーメッセージが表示されます。
エラーには次のようなものがあります。
Timed
out
- サーバに対する要求を、(
“set
timeout=value”
で変更できる)ある時間
の間に( “set
retry=value”
で変更できる)ある回数だけ
リトライしましたが、応答しませんでした。
No
response from server
- サーバマシンでネームサーバが動いていません。
No
records
- ホスト名は正しいのですが、そのホストについて現在の問い合わせに
関する情報をサーバが持っていません。
問い合わせる情報は
“set querytype”
コマンドで指定できます。
Non-existent
domain
- そのホスト名もしくはドメイン名が存在しません。
Connection
refused
-
Network
is unreachable
- 現在のところネームサーバもしくはフィンガーサーバに対して
接続できません。
このエラーは一般に
ls と
finger
要求に対して起こります。
Server
failure
- ネームサーバが内部でデータベースの矛盾を発見したため
正しい答えが返せませんでした。
Refused
- ネームサーバが要求に対するサービスを拒否しました。
Format
error
- ネームサーバは要求パケットが適切なフォーマットになっていないと
判断しました。
nslookup
内にエラーがあるのかもしれません。
- /etc/resolv.conf
- ドメイン名の初期値とネームサーバのアドレスを記述するファイルです。
- $HOME/.nslookuprc
- ユーザ用の初期化オプションを記述するファイルです。
- /usr/share/misc/nslookup.help
- コマンドの要約です。
HOSTALIASES
- ホスト名のエイリアスを記述したファイル。
LOCALDOMAIN
- デフォルトドメインを上書きします。
named(8),
resolver(3),
resolver(5); RFC-1034, “Domain Names -
Concepts and Facilities”; RFC-1035, “Domain Names -
Implementation and Specification”
Andrew Cherenson