1. 程式人生 > >DNS中的正向解析與反向解析

DNS中的正向解析與反向解析

正向解析:通過域名查詢ip;

反向解析:通過ip查詢域名;

域名是為了方便記憶而專門建立的一套地址轉換系統,要訪問一臺網際網路上的伺服器,最終還必須通過IP地址來實現,域名解析就是將域名重新轉換為IP地址的過程。這一過程通過域名解析系統DNS來完成。

正向解析:通過主機名獲取其對應的廣域網IP地址;
同時通過主機名名稱檢視正向解析資訊:
    命令列輸入 nslookup domain.
    從返回的資訊中您可以看到正向解析的結果。
C:\>nslookup www.google.com
Server:  zj-ns1.cableplus.com.cn
Address:  219.233.241.166    ------DNS名字伺服器資訊

Non-authoritative answer:
Name:    www.google.com
Addresses:  2404:6800:4005:c00::63
          74.125.128.106
          74.125.128.147
          74.125.128.99
          74.125.128.103
          74.125.128.104
          74.125.128.105    -------www.google.com的IP地址群

接下來我們先來了解一下什麼是IP反向解析。我們經常使用到得DNS伺服器裡面有兩個區域,即“正向查詢區域”和“反向查詢區域”,正向查詢區域就是我們通常所說的域名解析,反向查詢區域即是這裡所說的IP反向解析,它的作用就是通過查詢IP地址的PTR記錄來得到該IP地址指向的域名,當然,要成功得到域名就必需要有該IP地址的PTR記錄。PTR記錄是郵件交換記錄的一種,郵件交換記錄中有A記錄和PTR記錄,A記錄解析名字到地址,而PTR記錄解析地址到名字。地址是指一個客戶端的IP地址,名字是指一個客戶的完全合格域名。通過對PTR記錄的查詢,達到反查的目的。

反向域名解析系統(Reverse DNS)的功能確保適當的郵件交換記錄是生效的。反向域名解析與通常的正向域名解析相反,提供IP地址到域名的對應。IP反向解析主要應用到郵件伺服器中來阻攔垃圾郵件,特別是在國外。多數垃圾郵件傳送者使用動態分配或者沒有註冊域名的IP地址來發送垃圾郵件,以逃避追蹤,使用了域名反向解析後,就可以大大降低垃圾郵件的數量。

比如你用
[email protected]
這個郵箱給我的郵箱 [email protected] 發了一封信。163郵件伺服器接到這封信會檢視這封信的信標頭檔案,這封信的信標頭檔案會顯示這封信是由哪個IP地址發出來的。然後根據這個IP地址進行反向解析,如果反向解析到這個IP所對應的域名是name.com 那麼就接受這封郵件,如果反向解析發現這個IP沒有對應到name.com,那麼就拒絕這封郵件。     

由於在域名系統中,一個IP地址可以對應多個域名,因此從IP出發去找域名,理論上應該遍歷整個域名樹,但這在Internet上是不現實的。為了完成逆向域名解析,系統提供一個特別域,該特別域稱為逆向解析域in-addr.arpa。這樣欲解析的IP地址就會被表達成一種像域名一樣的可顯示串形式,字尾以逆向解析域域
名"in-addr.arpa"結尾。
    例如一個IP地址:222.211.233.244,其逆向域名錶達方式為:244.233.221.222.in-addr.arpa

兩種表達方式中IP地址部分順序恰好相反,因為域名結構是自底向上(從子域到域),而IP地址結構是自頂向下(從網路到主機)的。實質上逆向域名解析是將IP地址表達成一個域名,以地址做為索引的域名空間,這樣逆向解析的很大部分可以納入正向解析中。

檢視反向解析資訊:
    命令列輸入 nslookup -qt=ptr yourIP  
    從返回的資訊中您可以看到反向解析的結果。

C:\>nslookup -qt=ptr 74.125.128.106
Server:  zj-ns1.cableplus.com.cn
Address:  219.233.241.166                 -----DNS名字伺服器資訊

Non-authoritative answer:
106.128.125.74.in-addr.arpa     name = hg-in-f106.1e100.net

125.74.in-addr.arpa     nameserver = NS4.GOOGLE.COM
125.74.in-addr.arpa     nameserver = NS1.GOOGLE.COM
125.74.in-addr.arpa     nameserver = NS2.GOOGLE.COM
125.74.in-addr.arpa     nameserver = NS3.GOOGLE.COM    ---對應的域名
NS1.GOOGLE.COM  internet address = 216.239.32.10
NS2.GOOGLE.COM  internet address = 216.239.34.10
NS3.GOOGLE.COM  internet address = 216.239.36.10
NS4.GOOGLE.COM  internet address = 216.239.38.10