DNS 紀錄之 PTR

再開始討論PTR紀錄時先建立一個概念,在DNS上的使用是將網域解析成IP,讓使用者能輸入網址後讓瀏覽器自動解析出IP的一種技術。

而在 DNS上的 PTR 紀錄功能完全相反,而是透過 DNS 將IP反解析出網域,一般使用者通常沒有這個能力修改PTR紀錄,大多只能透過IPS業者或是出租空間的業者來達成此宣告。

DNS PTR 如何實做出來?

在IPv4中的做法是將要查詢的 IP : 66.249.64.168 輸入後,查詢軟體會先翻轉IP順序並在尾端添加 “.in-addr.arpa”。

當查詢的 IP 是 66.249.64.168 會變成 “168.64.249.66.in-addr.arpa.”,透過.arpa 這個頂級網域來提供答案。而in-addr是專為 IPv4 查詢添加的 DNS類別。

故在 IPv6 中進行反查原理是一樣的 IP: 2001:4860:4801:65:0:0:0:3a,此時軟體會先翻轉IP。不過翻轉的內容是一個字一個字的翻轉過去,反轉完成後尾端會加上”.ip6.arpa.”來進行查詢。

那剛剛查詢的IPv6 會變成 “a.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.5.6.0.0.1.0.8.4.0.6.8.4.1.0.0.2.ip6.arpa.”,跟剛剛一樣 ip6 是 arpa 專為 IPv6 查詢添加的類別。

那 PTR 紀錄可以做甚麼用呢?

從上面的例子看到功能是IP反查網域,故主要用途是為了驗證或將IP轉成網域方便閱讀,實務上用在下列幾個地方:

Email 垃圾郵件過濾:

某些過濾垃圾郵件也會參考DNS反查內容來驗證,該IP是否屬於此網域的所有的。如果無法正確宣告可能會被視為垃圾郵件。

日誌/流量分析工具:

在閱讀大量系統紀錄時如果只有IP對於人類來說不是太友善,工具此時會自動幫忙進行IP的反查。把 IP 換成網域人在閱讀的時候就可以快速判別此連線是不是有問題的。

驗證IP所有權:

搜尋引擎在爬取各網頁時也會通過此方式來宣告此IP的使用權,來避免其他人利用一樣的 User Agent 或是 PTR 來偽造身分。

注意事項:

PTR 紀錄反查出來的內容不一定可信,查出來的網域必須再次反查一次,確認回應的答案是否為相同的。

$ dig -x 66.249.64.168

;; ANSWER SECTION:
168.64.249.66.in-addr.arpa. 4732 IN	PTR	crawl-66-249-64-168.googlebot.com.

$ dig crawl-66-249-64-168.googlebot.com.

;; ANSWER SECTION:
crawl-66-249-64-168.googlebot.com. 86400 IN A	66.249.64.168

由上面的查詢,可以知道此IP的PTR紀錄正確因為:

先透過 DNS 反查 IP : 66.249.64.168 ,可以得到答案 “crawl-66-249-64-168.googlebot.com.”

再透過 DNS 查詢”crawl-66-249-64-168.googlebot.com.”,可以得到答案 IP 為 66.249.64.168。

兩者可以取得相同的結論,所以紀錄為真。

參考來源:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端