熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> Windows系統管理 >> 正文

nslookup工具的使用方法

2013-11-11 21:52:23  來源: Windows系統管理 

  配置好DNS服務器添加了相應的記錄之後只要IP地址保持不變一般情況下我們就不再需要去維護DNS的數據文件了不過在確認域名解釋正常之前我們最好是測試一下所有的配置是否正常許多人會簡單地使用ping命令檢查一下就算了不過Ping指令只是一個檢查網絡聯通情況的命令雖然在輸入的參數是域名的情況下會通過DNS進行查詢但是它只能查詢A類型和CNAME類型的記錄而且只會告訴你域名是否存在其他的信息一概欠奉所以如果你需要對DNS的故障進行排錯就必須熟練另一個更強大的工具nslookup這個命令可以指定查詢的類型可以查到DNS記錄的生存時間還可以指定使用那個DNS服務器進行解釋
  
  查詢IP地址
  
  nslookup最簡單的用法就是查詢域名對應的IP地址包括A記錄和CNAME記錄如果查到的是CNAME記錄還會返回別名記錄的設置情況其用法是
  
  nslookup 域名
  
  以下是A記錄的返回情況
  
 

  nslookup命令會采用先反向解釋獲得使用的DNS服務器的名稱由於我這裡使用的是一個內部的DNS服務器所以沒有正確的反向記錄導致結果的前面幾行出錯大家可以不必理會重點看的是最後的兩行這裡看到的是的IP地址是注意即使的主機沒有在線同樣能夠返回結果
  
  如果目標域名是一個別名記錄(CNAME)nslookup就開始顯示出和ping命令不同的地方了請看查詢CNAME記錄的結果由於CNAME和A記錄最後都是活的IP地址所以一般情況下兩者是等同看待的命令的格式相同
  
 

  注意這次nslookup返回了三行信息前兩行顯示這是一個CNAME記錄對應的域名和IP地址最後顯示的就是目標域名 並注明Alias(別名)
  
  如果域名不存在會怎樣呢?
  
 

  看得懂最後以行的英文嗎不懂沒關系記住形狀就可以了如果一個指定類型的域名不存在對應的記錄同樣也是這種結果
  
  查詢其他類型的域名
  
  前面兩個命令我們沒有加任何參數所以默認情況下nslookup查詢的是A類型的記錄如果我們配置了其他類型的記錄希望看到解釋是否正常這時候ping就無能為力了比如我們配置了MX記錄但是郵件服務器只能發信不能收信到底是域名解釋問題還是其他的問題Ping命令的檢查只能讓你誤入歧途nslookup 這時候可以模擬你的其他遇見服務器進行域名解釋的情況我們需要在nslookup上加上適當的參數指定查詢記錄類型的指令格式如下
  
  nslookup –qt=類型 目標域名
  
  注意qt必須小寫
  
  類型可以是一下字符不區分大小寫
  
  A 地址記錄(Ipv)
  AAAA 地址記錄(Ipv
  AFSDB Andrew文件系統數據庫服務器記錄(不懂)
  ATMA ATM地址記錄(不是自動提款機)
  CNAME 別名記錄
  HINFO 硬件配置記錄包括CPU操作系統信息
  ISDN 域名對應的ISDN號碼
  MB 存放指定郵箱的服務器
  MG 郵件組記錄
  MINFO 郵件組和郵箱的信息記錄
  MR 改名的郵箱記錄
  MX 郵件服務器記錄
  NS 名字服務器記錄
  PTR 反向記錄(從IP地址解釋域名)
  RP 負責人記錄
  RT 路由穿透記錄(不懂)
  SRV TCP服務器信息記錄(將有大用處)
  TXT 域名對應的文本信息
  X 域名對應的X地址記錄
  看看的郵件服務器記錄吧
  
 

  看看nslookup把服務器的名稱和地址都給出來了注意preference就是前面所說的優先級該數值越小則優先級越高
  
  我再看看名字服務器記錄是怎麼樣的
  
 

  看起來和MX記錄的格式差不多一般情況下服務器會同時返回對應的地址不過也有不返回的情況
  
  在這裡我希望大家注意一行顯示Nonsuthoritativeanswer:這一行在前面的例子中都沒有顯示過它的出現代表這個結果是從服務器的緩存中得到的所以提醒你這不是一個授權的答案前面我們進行的幾次查詢過程中這台機器就采用了我們第一篇文章中描述的過程查詢了的域名在這個過程中不但緩存了以及的MX記錄等最終結果也包括獲取的名字服務器等中間結果隱含的查詢了的NS記錄後面我們還會介紹這個過程
  
  指定使用的名字服務器
  
  在默認情況下nslookup使用的是我們在本機TCP/IP配置中的DNS服務器進行查詢但有時候我們需要指定一個特定的服務器進行查詢試驗這時候我們不需要更改本機的TCP/IP配置只要在命令後面加上指定的服務器IP或者域名就可以了這個參數在我們對一台指定服務器排錯是非常必要的另外我們可以通過指定服務器直接查詢授權服務器的結果避免其他服務器緩存的結果命令格式如下
  
  nslookup [qt=類型] 目標域名 指定的DNS服務器IP或域名
  
  我們可看看以下的命令結果
  
 

  這個命令直接從頂級域名服務器查詢的NS記錄所有的二級域名的NS記錄都存放在頂級域名服務器中這是最權威的解釋注意這次沒有非授權結果的提示對於二級域名的NS記錄查詢來說這肯定是授權結果頂級域名服務器的名稱是a到共十台服務器(gtld是Global Top Level Domain的縮寫)當我們修改域名的NS記錄的時候可以通過上述查詢知道修改的結果是不是已經在頂級域名服務器上生效不過即使已經生效也可能不能正常解釋注意我在上一篇文章中提到的緩存時間的問題
  
  那麼到底緩存多久呢?
  
  檢查域名的緩存時間
  
  檢查域名的緩存時間需要我們使用一個新的參數d
  
  格式如下
  
  nslookup –d [其他的參數] 目標域名 [指定的服務器地址]
  
  請看范例
  
 

  我們忽略其他的看看Got answer後面幾行包括了一個ttl數值這個數值就是域名記錄的生存時間
  
  這種查詢將整個DNS數據包的所有部分都揭示出來大家可以看到DNS實際上並不是想象中那麼簡單的東西具體的各部分解釋大家可以去看看相關的標准文檔需要提醒大家的是一定要找到ANSWER:的內容其他的東西都不是描述最終的結果上面就不止一個地方又TTL數值
  
  域名解釋過程的模擬
  
  我們現在來模擬一下一台DNS服務器接到一個不是自己管理的域的域名解釋過程回憶一下第一篇文章的過程
  
  首先我們會詢問根服務器然後根服務器會讓我們去找對應的頂級服務器如果查詢的是就會要求我們去找net的服務器
  
  看看下面的范例
  
  這裡我們讓的服務器解釋的域名很顯然這台服務器不用有這個域需要詢問根服務器一般情況下DNS服務器會幫我們完成全部的過程這種解釋方式我們稱之為遞歸解析為了讓大家看到這個過程我家了一個參數讓的服務器不要這樣做這個參數是norecurse這樣理論上會讓我們去問根服務器不過由於它已經緩存了頂級服務器的記錄所以直接返回了管理net的頂級服務器記錄實際上大部分的查詢都不需要從根服務器開始大家看到了所有的頂級域名服務器的地址都被返回
  
  我們隨便選擇一個在進行查詢
  

  這次頂級服務器就返回了的服務器地址記錄的然後我們就向這些記錄之一進行查詢一定能夠得到答案可能是一個地址一個CNAME記錄或者告訴你不存在
  
  nslookup的命令就介紹到這裡其實nslookup還有許多其他參數不過常用的就俄這麼幾個另外如果大家不喜歡命令行方式的話還有幾個圖形界面的nslookup功能的工具不過大家還是需要了解域名解釋都有些什麼才能夠正確使用這些工具
From:http://tw.wingwit.com/Article/os/xtgl/201311/9390.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.