nslookup命令详解【转】
轉自:http://blog.chinaunix.net/uid-28933499-id-3750357.html
NSlookup命令的用法
用了域名服務器后,經常要查詢域名的解析情況,nslookup是常用工具之一,無論是linux或者是window下都有這個工具,用好它對平常的域名解析情況,或者對域名服務器的維護都有幫助。
用途
查詢因特網域名服務器。
語法
nslookup?[?-Option?...?] [?Host?] [?-NameServer?]
描述
nslookup?命令以兩種方式查詢域名服務器。交互式模式允許查詢名稱服務器獲得有關不同主機和域的信息,或打印域中主機列表。在非交互式模式,打印指定的主機或域的名稱和請求的信息。
當沒有給出參數時進入交互式模式,或者當第一個參數是 -(減號)并且第二個是主機名或名稱服務器的因特網地址時,nslookup?命令進入交互式模式。當沒有給出參數時,命令查詢缺省名稱服務器。-(減號)調用可選的子命令(-Option...?變量)。除了?set?命令,這些命令在命令行指定并且必須在nslookup?命令參數之前。set?子命令選項能在用戶主目錄的?.nslookuprc?文件有選擇的指定。
當第一個參數是正在搜索的主機的名稱或地址,nslookup?命令在非交互式模式下執行。在此情況下,主機名或名稱服務器的因特網地址是可選的。
非交互式命令使用缺省名稱服務器或由?NameServer?參數指定的名稱服務器為指定的主機搜索信息。如果Host?參數指定因特網地址并且查詢類型是?A?或?PTR,則返回主機名稱。如果?Host?參數指定名稱并且名稱沒有結尾句點,缺省的域名追加到名稱后。不在當前域中查找主機,在名稱后追加單一的句點。
注:如果在用戶主目錄的?.nslookuprc?文件指定,set?子命令的domain、srchlist、defname?和?search?選項能影響非交互式命令的行為。
子命令
下列命令可以隨時輸入 Ctrl-C 按鍵順序終止。要退出,請輸入 Ctrl-D 按鍵順序或輸入?exit。將內置命令作為主機名,在它之前帶轉義字符 \。不能標識的命令解釋為主機名。
下列子命令由?nslookup?命令標識:
| finger?[Name] [>?FileName] | 在當前主機連接?finger?守護程序服務器。當前一個查詢主機成功并且返回地址信息,如返回?set querytype=A?命令時,定義當前主機。Name?參數指定用戶名,它是可選的。> 和 >> 字符可以用來重定向輸出到新建或現有的文件。 |
| server?Domain | 更改缺省服務器為?Domain?參數指定的值。lserver?子命令使用初始服務器查詢有關域的信息。server?子命令使用當前的缺省服務器。如果未發現授權應答,則任何可能有應答的附加服務器名返回。 |
| root | 更改缺省服務器為 root 域名空間服務器。當前,使用主機?ns.nic.ddn.mil?。root 服務器名可以使用?set?root?子命令更改。(root?子命令與?lserver ns.nic.ddn.mil子命令同義)。 |
| ls?[Option]?Domain?[>?FileName] | 為指定的?Domain?列出可獲得的信息,有選擇的創建或追加輸出到?FileName?參數指定的文件。缺省輸出包含主機名和它們的因特網地址。Option?參數的可能值是: -t?QueryType列出指定類型的所有記錄。缺省記錄類型是?A。有效類型是: A 主機的因特網地址 CNAME 為別名規范名稱 HINFO 主機 CPU 和操作系統 KEY 安全性密鑰記錄 MINFO 郵箱或郵件列表信息 MX 郵件交換器 NS 指定區域的名稱服務器 PTR 如果查詢是因特網地址則指向主機名;否則,指向其他信息 SIG 特征符記錄 SOA 域的“start-of-authority”信息 TXT 文本信息 UINFO 用戶信息 WKS 支持眾所周知的服務 -a 列出域中主機的別名(與?-t CNAME?選項相同)。 -d 列出域中所有記錄(與?-t ANY?選項同義)。 -h 列出域中 CPU 和操作系統信息(與?-t HINFO?選項同義)。 -s 列出域中眾所周知的主機服務(與?-t WKS?選項同義)。注:?當輸出重定向到文件,每從服務器接收 50 條記錄,打印散列標記。 |
| view?FileName | 將以前?ls?命令的輸出排序并且使用?more?命令將其列出。 |
| help | ? |
| ? | 顯示命令的簡要總結。 |
| exit | 退出程序。 |
| set?Keyword[=Value] | 改變影響查詢的狀態信息。該命令可以在命令行指定或有選擇的在用戶主目錄的.nslookuprc?文件指定。有效的關鍵字是: all 顯示頻繁地使用的選項要設置的當前值。有關當前缺省服務器和主機的信息也顯示。 class=Value更改查詢類為下列之一。類指定信息的協議組。缺省值是?IN。 IN Internet 類 CHAOS Chaos 類 HESIOD MIT Althena Hesiod 類 ANY 通配符(上面任意之一) [no]debug 打開調試模式。缺省值是?nodebug?(關閉)。 [no]d2 打開全面調試模式。缺省值是?nod2(關閉)。 domain=Name 更改缺省域名為?Name?參數指定的域名。缺省域名追加到查詢請求,取決于defname?和?search?選項的狀態。如果搜索列表在其名稱中至少包含兩部分則域搜索列表包含缺省域的父域。例如,如果缺省域是?CC.Berkeley.EDU,搜索列表是CC.Berkeley.EDU?和?Berkeley.EDU。使用?set?srchlist?命令指定不同列表。使用?setall?命令顯示列表。domain=Name?選項的缺省值是在系統的hostname、/etc/resolv.conf、或?LOCALDOMAIN?文件指定的值。 srchlst=Name1/Name2/...更改缺省域名為?Name1?參數指定的值,并且更改域搜索列表為Name1、Name2......參數指定的名稱。可以指定由斜杠分開的六個名稱的最大值。使用?set?all?命令顯示名稱列表。缺省值是在系統的?hostname、/etc/resolv.conf或?LOCALDOMAIN?文件指定的值。 注:該命令覆蓋缺省域名和?set?domain?命令選項的搜索列表。 [no]defname 追加缺省域名到單一的組成部分的查詢請求(不包含句點的請求)。缺省值是defname?(追加)。 [no]search 如果查詢請求包含結尾句點以外的句點,追加域搜索列表中的域名到請求直到接收到應答。缺省值是?search。 port=Value 更改缺省 TCP/UDP 名稱服務器端口為?Value?參數指定的數。缺省值是 53。 querytype=Value |
| type=Value | 更改信息查詢為下列值之一。缺省值是?A。 A 主機的因特網地址 ANY 任何可用的選項。 CNAME 為別名規范名稱 HINFO 主機 CPU 和操作系統 KEY 安全性密鑰記錄 MINFO 郵箱或郵件列表信息 MX 郵件交換器 NS 為指定區域的命名服務器 PTR 如果查詢因特網地址則指向主機名;否則,指向其他信息 SIG 特征符記錄 SOA 域的“start-of-authority”信息 TXT 文本信息 UINFO 用戶信息 WKS 支持眾所周知的服務 [no]recurse 如果沒有信息則通知名稱服務器查詢其他服務器。缺省值是?recurse。 retry=Number 設置請求企圖重試次數值為?Number?參數指定的值。當請求的應答沒有在?settimeout?命令指定的時間幀之內接收,則超時周期加倍,請求重新發送。該子命令控制超時之前請求發送的次數。缺省值是 4。 root=Host 更改 root 服務器名稱為?Host?參數指定的名稱。缺省值是?ns.nic.ddn.mil。 timeout=Number 更改初始等待應答超時間隔為?Number?參數指定的秒數。缺省值是 5 秒。 [no]vc 當發送請求到服務器使用虛擬電路。缺省值是?novc(沒有虛擬電路)。 [no]ignoretc 忽略數據包截斷錯誤。缺省值是?noignoretc(不忽略)。 |
示例
更改缺省查詢類型類型為主機信息(HINFO)并且初始超時時間為 10 秒,請輸入:
nslookup -query=hinfo -timeout=10
設置域和搜索列表為三個名稱,lcs.MIT.EDU、ai.MIT.EDU?和?MIT.EDU,請輸入:
nslookup -set srchlist=lcs.MIT.EDU/ai.MIT.EDU/MIT.EDU
該命令覆蓋缺省域名和?set?domain?命令的搜索列表。使用?set?all?命令顯示列表。
確定名稱是否指定主機、域、或其他實體,請輸入:
nslookup -querytype=ANY austin.ibm.com
nslookup?命令返回有關名稱?austin.ibm.com?的所有可用的信息,包括權限語句(SOA)、名稱服務器、郵件交換器和主機因特網地址信息,如下:
Server: benames.austin.ibm.comAddress: 9.3.199.2 austin.ibm.com origin = ausname1.austin.ibm.com mail addr = brian.chriss.austin.ibm.com serial=1993081210,refresh=3600,retry=300,expire=604800, min=86400 austin.ibm.com nameserver = ausname1.austin.ibm.com austin.ibm.com nameserver = bb3names.austin.ibm.com austin.ibm.com nameserver = benames.austin.ibm.com austin.ibm.com nameserver = b45names.austin.ibm.com austin.ibm.com nameserver = bbcnames.austin.ibm.com austin.ibm.com nameserver = netmail.austin.ibm.com austin.ibm.com preference = 10, mail exchanger = netmail.austin.ibm.com austin.ibm.com inet address = 129.35.208.98 ausname1.austin.ibm.com inet address = 129.35.17.2 bb3names.austin.ibm.com inet address = 129.35.208.99 benames.austin.ibm.com inet address = 9.3.199.2 b45names.austin.ibm.com inet address = 129.35.49.2 bbcnames.austin.ibm.com inet address = 129.35.17.68 netmail.austin.ibm.com inet address = 129.35.208.98
要在?opus?主機上執行非交互式查詢,請輸入:
nslookup opus
nslookup?命令與?host?命令的應答相同。命令返回域名和?opus?主機的因特網地址,如下:
Name: opus.austin.ibm.com Address: 129.35.129.223
如果主機?opus?已經是名稱服務器(以空?/etc/resolv.conf?文件正在運行?named?守護程序的主機),下列信息將會顯示:
Server: loopback Address: 0.0.0.0
退出狀態
當查詢請求不成功,則?nslookup?命令返回下列錯誤消息之一:
| Timed Out | 表示服務器在超出指定的重試次數后不響應請求。 |
| No Response from Server | 表示名稱服務器不在服務器上運行。 |
| No Records | 表示服務器沒有主機的指定查詢類型的資源記錄,即使主機名有效。 |
| Non-Existent Domain | 表示主機或域名不存在。 |
| Connection Refused | 表示在查詢時,不能連接到名稱或遠程用戶信息服務命令服務器。該錯誤是與?ls?和?finger?請求有關的典型錯誤。 |
| Network Is Unreachable | 表示在查詢時,不能連接到名稱或遠程用戶信息服務命令服務器。該錯誤是與?ls?和?finger?請求有關的典型錯誤。 |
| Server Failure | 表示名稱服務器遇到內部矛盾并且不能返回有效的應答。 |
| Refused | 表示名稱服務器拒絕請求服務。 |
| Format Error | 表示名稱服務器拒絕數據包請求因為格式不正確。 |
文件
| /usr/bin/nslookup | 包含?nslookup?命令。 |
| /etc/resolv.conf | 包含初始域名和名稱服務器地址。 |
| $HOME/.nslookuprc | 包含用戶的初始選項。 |
| HOSTALIASES | 包含主機別名。 |
| LOCALDOMAIN | 包含覆蓋的缺省域。 |
***值得提醒的是命令行參數中的[- name server]上的-后要有一空格,實際上 - 是第一個參數,曾經許多人都覺得這個參數不對,不能在命令行指定域名服務器,實際上都是這個原因。這個用法對檢查某個域名服務器的解析是否正確很有用。比如三個運營商在當地的域名解析是否正確,就不用采用每次都修改電腦的域名服務器來實現,只要在命令行加上這個參數就行。
***nslookup不能查詢dns的遞歸或者迭代,功能也比dig弱。
轉載于:https://www.cnblogs.com/sky-heaven/p/6516661.html
總結
以上是生活随笔為你收集整理的nslookup命令详解【转】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ES6学习笔记--let和const
- 下一篇: 微信小程序安卓机使用uploadfile