NSLOOKUP命令詳解(域名DNS診斷)
NSLOOKUP 命令詳解(域名DNS 診斷)2010-11-02 10:22最近在網(wǎng)上查詢同IP 網(wǎng)站查詢,可以知道自己的網(wǎng)站跟哪些網(wǎng)站放在同一個服務器。最近突然發(fā)現(xiàn),NSLOOKUP 也可以查詢網(wǎng)
NSLOOKUP 命令詳解(域名DNS 診斷)
2010-11-02 10:22
最近在網(wǎng)上查詢同IP 網(wǎng)站查詢,可以知道自己的網(wǎng)站跟哪些網(wǎng)站放在同一個服務器。最近突然發(fā)現(xiàn),NSLOOKUP 也可以查詢網(wǎng)站的IP 地址。
查詢IP 地址
nslookup 最簡單的用法就是查詢域名對應的IP 地址,包括A 記錄和CNAME 記錄,如果查到的是CNAME 記錄還會返回別名記錄的設置情況。其用法是:
nslookup 域名
以下是A 記錄的返回情況。
nslookup 命令會采用先反向解釋獲得使用的DNS 服務器的名稱,由于我這里使用的是一個內部的DNS 服務器所以沒有正確的反向記錄,導致結果的前面幾行出錯。大家可以不必理會。重點看的是最后的兩行這里看到的是www.oray.net 的IP 地址是61.145.112.212。注意即使www.oray.net 的主機沒有在線同樣能夠返回結果。
如果目標域名是一個別名記錄(CNAME),nslookup 就開始顯示出和ping 命令不同的地方了,請看查詢CNAME 記錄的結果。由于CNAME 和A 記錄最后都是活的IP 地址,所以一般情況下兩者是等同看待的,命令的格式相同。
注意這次nslookup 返回了三行信息,前兩行顯示這是一個CNAME 記錄,對應的域名和IP 地址。最后顯示的就是目標域名, 并注明Alias (別名)。
如果域名不存在會怎樣呢?
看得懂最后以行的英文嗎,不懂沒關系記住形狀就可以了。如果一個指定類型的域名不存在對應的記錄同樣也是這種結果。
查詢其他類型的域名
前面兩個命令我們沒有加任何參數(shù),所以默認情況下nslookup 查詢的是A 類型的記錄。如果我們配置了其他類型的記錄希望看到解釋是否正常。這時候ping 就無能為力了。比如我們配置了MX 記錄,但是郵件服務器只能發(fā)信不能收信,到底是域名解釋問題還是其他的問題Ping 命令的檢查只能讓你誤入歧途。nslookup 這時候可以模擬你的其他遇見服務器進行域名解釋的情況。我們需要在nslookup 上加上適當?shù)膮?shù)。指定查詢記錄類型的指令格式如下:
nslookup –qt=類型 目標域名
注意qt 必須小寫。
類型可以是一下字符,不區(qū)分大小寫:
A 地址記錄(Ipv4)
AAAA 地址記錄(Ipv6)
AFSDB Andrew文件系統(tǒng)數(shù)據(jù)庫服務器記錄(不懂)
ATMA ATM地址記錄(不是自動提款機)
CNAME 別名記錄
HINFO 硬件配置記錄,包括CPU 、操作系統(tǒng)信息
ISDN 域名對應的ISDN 號碼
MB 存放指定郵箱的服務器
MG 郵件組記錄
MINFO 郵件組和郵箱的信息記錄
,MR 改名的郵箱記錄
MX 郵件服務器記錄
NS 名字服務器記錄
PTR 反向記錄(從IP 地址解釋域名)
RP 負責人記錄
RT 路由穿透記錄(不懂)
SRV TCP服務器信息記錄(將有大用處)
TXT 域名對應的文本信息
X25 域名對應的X.25地址記錄
看看oray.net 的郵件服務器記錄吧。
看看,nslookup 把服務器的名稱和地址都給出來了,注意preference 就是前面所說的優(yōu)先級,該數(shù)值越小則優(yōu)先級越高。
我再看看名字服務器記錄是怎么樣的。
看起來和MX 記錄的格式差不多,一般情況下服務器會同時返回對應的地址。不過也有不返回的情況。
,在這里我希望大家注意一行顯示“Non-suthoritativeanswer:”,這一行在前面的例子中都沒有顯示過。它的出現(xiàn)代表這個結果是從服務器的緩存中得到的。所以提醒你這不是一個授權的答案。前面我們進行的幾次查詢過程中192.168.1.104這臺機器就采用了我們第一篇文章中描述的過程查詢了oray.net 的域名。在這個過程中不但緩存了www.oray.net 、test.oray.net 以及oray.net 的MX 記錄等最終結果。也包括獲取的名字服務器等中間結果。隱含的查詢了oray.net 的NS 記錄。后面我們還會介紹這個過程。
指定使用的名字服務器
在默認情況下nslookup 使用的是我們在本機TCP/IP配置中的DNS 服務器進行查詢,但有時候我們需要指定一個特定的服務器進行查詢試驗。這時候我們不需要更改本機的TCP/IP配置,只要在命令后面加上指定的服務器IP 或者域名就可以了。這個參數(shù)在我們對一臺指定服務器排錯是非常必要的,另外我們可以通過指定服務器直接查詢授權服務器的結果避免其他服務器緩存的結果。命令格式如下:
nslookup [-qt=類型] 目標域名 指定的DNS 服務器IP 或域名
我們可看看以下的命令結果:
域名解釋過程的模擬
,我們現(xiàn)在來模擬一下一臺DNS 服務器接到一個不是自己管理的域的域名解釋過程?;貞浺幌碌谝黄恼碌倪^程:
首先我們會詢問根服務器,然后根服務器會讓我們去找對應的頂級服務器。如果查詢的是oray.net ,就會要求我們去找net 的服務器。
看看下面的范例:
這里我們讓21cn.com 的服務器解釋www.oicp.net 的域名,很顯然這臺服務器不用有這個域,需要詢問根服務器。一般情況下DNS 服務器會幫我們完成全部的過程。這種解釋方式我們稱之為遞歸解析,為了讓大家看到這個過程我家了一個參數(shù)讓21cn.com 的服務器不要這樣做。這個參數(shù)是-norecurse 。這樣理論上21cn.com 會讓我們去問根服務器,不過由于它已經(jīng)緩存了頂級服務器的記錄,所以直接返回了管理net 的頂級服務器記錄。實際上大部分的查詢都不需要從根服務器開始。大家看到了所有的頂級域名服務器的地址都被返回。
我們隨便選擇一個在進行查詢。
這次頂級服務器就返回了oicp.net 的服務器地址記錄的。然后我們就向這些記錄之一進行查詢,一定能夠得到答案??赡苁且粋€地址、一個CNAME 記錄或者告訴你不存在。
nslookup 的命令就介紹到這里,其實nslookup 還有許多其他參數(shù)。不過常用的就俄這么幾個,另外如果大家不喜歡命令行方式的話。還有幾個圖形界面的nslookup 功能的工具。不過大家還是需要了解域名解釋都有些什么才能夠正確使用這些工具。