nslookup是一個可以監(jiān)測DNS服務(wù)器是否正常運行,且是否能正確解析域名的工具。
參考文章:http://www.t086.com/article/5138
常用方法
$ nslookup 某一域名A
服務(wù)器: 正在工作的DNS服務(wù)器主機名
Address: 10.15.*.*
名稱: 某一域名A
Address: 域名A在DNS服務(wù)器中對應(yīng)的IP地址
舉例說明
$ nslookup www.baidu.com
服務(wù)器: xxx
Address: 10.15.*.*
名稱: www.a.shifen.com
Addresses: 115.239.210.27
115.239.211.112
Aliases: www.baidu.com
通過解析百度的域名,可以看到出現(xiàn)了兩臺機子的IP,分別是115.239.210.27和115.239.211.112。
平時在做開發(fā)時,如果需要排查日志,經(jīng)常會排查后臺請求具體是發(fā)送到了哪臺服務(wù)器上,除了通過ping www.baidu.com來獲取IP地址外,還可以通過nslookup。
nslookup返回的錯誤信息
*** can't find www.aaaa.com:Non-existent domain
這種情況下,說明DNS服務(wù)器是正常運行的,只是在該DNS服務(wù)器中未找到域名是www.aaaa.com的域名。此時可以檢查DNS的數(shù)據(jù)庫是否已經(jīng)添加了該域名及IP地址。*** Can't find server name for domain: No response from server
這種情況下,表明DNS服務(wù)器可能奔潰了,需要排查網(wǎng)絡(luò)是否連通,DNS服務(wù)器是否宕機,DNS服務(wù)器是否正常工作等。
ping和nslookup的區(qū)別
其實很多時候,ping一下域名就能獲取到對應(yīng)的IP,但是Ping指令只是一個檢查網(wǎng)絡(luò)連通情況的指令,雖然在輸入?yún)?shù)是域名的情況下也會走DNS查詢,但是這只能查詢A類型和CNAME類型的記錄,并且只會告訴你域名是否存在。
網(wǎng)上還有說法說:ping指令只能獲取該域名下的一臺機子的ip地址,如果說你項目中有多臺機子,那可能ping好幾次,會出來不同的ip地址,這種說法是對的。
但是,他又說"nslookup可以列出所有機子的ip"。這種說法是錯誤的,nslookup其實做不到這一點,似乎也沒有命令強大到這種程度吧?nslookup也只是把這一次解析到的ip列出來。