1. 程式人生 > >域名DNS解析工具ping/nslookup/dig/host

域名DNS解析工具ping/nslookup/dig/host

常見 DNS 記錄的型別

型別 目的
A 地址記錄,用來指定域名的 IPv4 地址,如果需要將域名指向一個 IP 地址,就需要新增 A 記錄。
AAAA 用來指定主機名(或域名)對應的 IPv6 地址記錄。
CNAME 如果需要將域名指向另一個域名,再由另一個域名提供 ip 地址,就需要新增 CNAME 記錄。
MX 如果需要設定郵箱,讓郵箱能夠收到郵件,需要新增 MX 記錄。
NS 域名伺服器記錄,如果需要把子域名交給其他 DNS 伺服器解析,就需要新增 NS 記錄。
SOA SOA 這種記錄是所有區域性檔案中的強制性記錄。它必須是一個檔案中的第一個記錄。
TXT 可以寫任何東西,長度限制為 255。絕大多數的 TXT記錄是用來做 SPF 記錄(反垃圾郵件)。

ping:

ping其實不能太全面瞭解DNS解析的過程,只能區域性瞭解DNS解析出來後的其中一臺伺服器,並且如果DNS配置了多臺伺服器,並且針對網路環境配置不同的伺服器,那麼此時也會造成單一值的影響;

比如下面用電信網路ping的值,並且ping多幾次會有不同值的變化:

可見ping可以快速看到CNAME對應的A記錄。

nslookup:

nslookup網上說已經過時了,但老工具還是有一定參考價值。

1、直接查詢

nslookup domain [dns-server]

如果dns-server不指定,預設使用/etc/resolv.conf

2、查詢其它型別的記錄

nslookup -type=type domain [dns-server]

host:

1、普通查詢

host domain [dns-server]

預設dns-server可以省略,不填預設本機/etc/resolv.conf

2、指定型別查詢

host -t type domain [dns-server]

3、反解析

注意,這個反解析只能通過IP獲取最終的DNS伺服器

host IP

dig:

1、普通查詢

dig domain @[dns-server]

2、查詢指定型別

dig [type] domain [dns-server]

3、反解析

dig -x IP

4、輸出資訊解釋

  1. 第一部分顯示 dig 命令的版本和輸入的引數。
  2. 第二部分顯示服務返回的一些技術詳情,比較重要的是 status。如果 status 的值為 NOERROR 則說明本次查詢成功結束。
  3. 第三部分中的 "QUESTION SECTION" 顯示我們要查詢的域名。
  4. 第四部分的 "ANSWER SECTION" 是查詢到的結果。
  5. 第五部分則是本次查詢的一些統計資訊,比如用了多長時間,查詢了哪個 DNS 伺服器,在什麼時間進行的查詢等等。

預設情況下 dig 命令查詢 A 記錄,上圖中顯示的 A 即說明查詢的記錄型別為 A 記錄。

 

總結:

從功能性上講,dig命令顯示的資訊會比其它幾個工具的詳細很多。