May 28, 2007

nslookup 使用說明

     From:http://turtle.ee.ncku.edu.tw/~tung/dns/nslookup.html:


     有些時候, user 可能會想要手動查詢 DNS 上一些資料, 或者是要看看 DNS 是否有問題,
此時我們最常用的工具就是 nslookup 了, 基本上 nslookup 會根據 /etc/resolv.conf
的內容去找到所要使用的 local DNS server.

 

使用說明

打入 nslookup 命令後, 會看到 > 提示符號, 此時打 ? 就會出現 nslookup
說明

Default Server:  sun4.ee.ncku.edu.tw

Address:  140.116.72.14

>?

$Id: nslookup.help,v 8.4 1996/10/25 18:09:41 vixie
Exp $

Commands:      
(identifiers are shown in uppercase, [] means optional)


NAME           
- print info about the host/domain NAME using default server


NAME1 NAME2     - as above,
but use NAME2 as server


help or ?      
- print info on common commands; see nslookup(1) for details


set OPTION      - set
an option


    all        
- print options, current server and host


    [no]debug   - print
debugging information


    [no]d2     
- print exhaustive debugging information


    [no]defname - append domain
name to each query


    [no]recurse - ask for recursive
answer to query


    [no]vc     
- always use a virtual circuit


    domain=NAME - set default
domain name to NAME


    srchlist=N1[/N2/.../N6] -
set domain to N1 and search list to N1,N2, etc.


    root=NAME   - set
root server to NAME


    retry=X    
- set number of retries to X


    timeout=X   - set
initial time-out interval to X seconds


    querytype=X - set query type,
e.g., A,ANY,CNAME,HINFO,MX,PX,NS,PTR,SOA,TXT,WKS,SRV,NAPTR


    port=X     
- set port number to send query on


    type=X     
- synonym for querytype


    class=X    
- set query class to one of IN (Internet), CHAOS, HESIOD or ANY


server NAME     - set default
server to NAME, using current default server


lserver NAME    - set default
server to NAME, using initial server


finger [USER]   - finger the optional
USER at the current default host


root           
- set current default server to the root


ls [opt] DOMAIN [> FILE] - list addresses in
DOMAIN (optional: output to FILE)


    -a         
-  list canonical names and aliases


    -h         
-  list HINFO (CPU type and operating system)


    -s         
-  list well-known services


    -d         
-  list all records


    -t TYPE    
-  list records of the given type (e.g., A,CNAME,MX, etc.)


view FILE      
- sort an 'ls' output file and view it with more


exit           
- exit the program, ^D also exits


>^D

 

Interactive/Noninteractive (交談式/非交談式)

執行 nslookup 時可以直接在後面跟著我們要查詢的資料, 那麼 nslookup 會直接把結果傳回來

如果只打入 nslookup [enter], 則進入交談模式, 出現提示符號 >, 此時 nslookup
會等待 user input command.

tung@traveler:~> nslookup
www.yohoo.com


Server:  sun4.ee.ncku.edu.tw

Address:  140.116.72.14

Non-authoritative answer:

Name:    yohoo.com

Address:  216.116.98.143

Aliases:  www.yohoo.com

tung@traveler:~> nslookup

Default Server:  sun4.ee.ncku.edu.tw

Address:  140.116.72.14

> www.yohoo.com

Server:  sun4.ee.ncku.edu.tw

Address:  140.116.72.14

Non-authoritative answer:

Name:    yohoo.com

Address:  216.116.98.143

Aliases:  www.yohoo.com

 

Authoritative/Non-Authoritative

在查詢時有時會出現 Non-authoritative answer, 代表這個答案是由 local
DNS 的 cache 中直接讀出來的, 而不是 local DNS 向真正負責這個 domain 的
name server 問來的.

 

常用的一些 option/command

1. set all

可以得知目前 nslookup 的一些 default 設定值

tung@traveler:~>
nslookup


Default Server:  sun4.ee.ncku.edu.tw

Address:  140.116.72.14

> set all

Default Server:  sun4.ee.ncku.edu.tw

Address:  140.116.72.14

Set options:

  nodebug        
defname         search         
recurse


  nod2           
novc           
noignoretc      port=53


  querytype=A     class=IN       
timeout=5       retry=4


  root=a.root-servers.net.

  domain=ee.ncku.edu.tw

  srchlist=ee.ncku.edu.tw

2. server dns_server_ip

表示將內定的 local DNS 換成另一部 server

Ex: server 140.116.2.6

3. set type=any

表示在查詢某個 domain name 時, 將和這個 domain name 的一些相關資料一併顯示出來

> set type=any

> www.yohoo.com

Server:  sun4.ee.ncku.edu.tw

Address:  140.116.72.14

Non-authoritative answer:

www.yohoo.com   canonical name = yohoo.com

Authoritative answers can be found from:

yohoo.com      
nameserver = ns1.netgateway.net


yohoo.com      
nameserver = ns2.netgateway.net


ns1.netgateway.net     
internet address = 216.116.98.7


ns2.netgateway.net     
internet address = 216.116.98.8

在上面的這個例子, 我們除了知道 www.yohoo.com 的 IP 外, 我們還得知了
yohoo.com 是由哪部 name server 在負責的. 因此如果想要知道 www.yohoo.com
真正在 yohoo.com 上的記錄是如何, 而不要有 local DNS cache 中傳回的資料,
我們可以配合使用 server 這個 command 將 default local DNS 改為負責 yohoo.com
的 DNS, 然後再查詢一次

> server 216.116.98.7

Default Server:  ns1.netgateway.net

Address:  216.116.98.7

> www.yohoo.com

Server:  ns1.netgateway.net

Address:  216.116.98.7

Name:    yohoo.com

Address:  216.116.98.143

Aliases:  www.yohoo.com

4. set type=ptr

本來要由 IP 反查 domain name時, 在直接打 IP 就行了, 但如果已經下了
type=any 的話, 要由 IP 反查時就沒那麼方便了, 此時 IP 4 個數字要倒著寫,
最後還要加上 in-addr.arpa. 以查 140.116.72.219 為例, 要輸入的就是 219.72.116.140.in-addr.arpa

tung@traveler:~> nslookup

Default Server:  sun4.ee.ncku.edu.tw

Address:  140.116.72.14

> 140.116.72.219

Server:  sun4.ee.ncku.edu.tw

Address:  140.116.72.14

Name:    garfield.ee.ncku.edu.tw

Address:  140.116.72.219

> set type=any

> 140.116.72.219

Server:  sun4.ee.ncku.edu.tw

Address:  140.116.72.14

*** sun4.ee.ncku.edu.tw can't find 140.116.72.219:
Non-existent host/domain


> 219.72.116.140.in-addr.arpa

Server:  sun4.ee.ncku.edu.tw

Address:  140.116.72.14

219.72.116.140.in-addr.arpa    
name = garfield.ee.ncku.edu.tw


72.116.140.IN-ADDR.ARPA nameserver = sun4.ee.ncku.edu.tw

sun4.ee.ncku.edu.tw     internet
address = 140.116.72.14

另外一個辦法就是先下 set type=ptr 或 set type=a 命令, 脫離 type=any
模式, 再進行 IP 反查 domain name 的 command

> set typr=ptr

> 140.116.72.219

Server:  sun4.ee.ncku.edu.tw

Address:  140.116.72.14

219.72.116.140.in-addr.arpa    
name = garfield.ee.ncku.edu.tw


72.116.140.IN-ADDR.ARPA nameserver = sun4.ee.ncku.edu.tw

sun4.ee.ncku.edu.tw     internet
address = 140.116.72.14

5. ls domain

這個命令是要求 name server 將其負責的 zone 內容
show 出來, 這個動作相當於 name server 的整份記錄從 server 端傳回給 nslookup
這個程式, 這種傳回整個 zone 的動作叫作 zone transfer


> set type=any

> ee.ncku.edu.tw

Server:  cs.ncku.edu.tw

Address:  140.116.2.6

ee.ncku.edu.tw  nameserver = sun4.ee.ncku.edu.tw

ee.ncku.edu.tw  preference = 1, mail exchanger
= eembox.ee.ncku.edu.tw


ee.ncku.edu.tw  internet address = 140.116.72.15

ee.ncku.edu.tw

        origin
= sun4.ee.ncku.edu.tw


        mail
addr = root.sun4.ee.ncku.edu.tw


        serial
= 1999033001


        refresh
= 3600 (1H)


        retry  
= 900 (15M)


        expire 
= 3600000 (5w6d16h)


        minimum
ttl = 3600 (1H)


ee.ncku.edu.tw  nameserver = sun4.ee.ncku.edu.tw

sun4.ee.ncku.edu.tw     internet
address = 140.116.72.14


eembox.ee.ncku.edu.tw   internet address
= 140.116.72.15


> ls ee.ncku.edu.tw

Default Server:  cs.ncku.edu.tw

Address:  140.116.2.6
> [sun4.ee.ncku.edu.tw]

$ORIGIN ee.ncku.edu.tw.

@                      
1H IN A         140.116.72.15


hdlib4                 
1H IN A         140.116.72.4


ds114                  
1H IN A         140.116.72.114


hdlib5                 
1H IN A         140.116.72.5


ds115                  
1H IN A         140.116.72.115


yokoyama1              
1H IN A         140.116.227.217


hdlib6                 
1H IN A         140.116.72.6


ds116                  
1H IN A         140.116.72.116


yokoyama2              
1H IN A         140.116.227.218


ds117                  
1H IN A         140.116.72.117


ds120                  
1H IN A         140.116.72.120


ds118                  
1H IN A         140.116.72.118


ds121                  
1H IN A         140.116.72.121


ds119                  
1H IN A         140.116.72.119


ds122                  
1H IN A         140.116.72.122


ds123                  
1H IN A         140.116.72.123


intelab01              
1H IN A         140.116.227.39


.....

No comments:

Post a Comment

您的评论将使我blog更有动力~