1. 程式人生 > >域名解析過程和域名劫持、域名汙染

域名解析過程和域名劫持、域名汙染

例子:瀏覽器輸入www.baidu.com

1.查詢本地hosts檔案,是否有網址對映ip,如果有,則直接把對映ip返回,否則進入下一步

2.查詢本地dns解析快取,是否有對應的網址對映ip,如有則直接把對映ip返回,否則進入下一步

3.查詢Tcp/ip上配置好的本地首選域名伺服器,一般是(8.8.8.8或者114.114.114.114,也可能有自己配置的本地域名伺服器),查詢本地配置區域資源,如能找到對應域名,則返回解析結果給客戶機,此解析具有權威性

4.如果要查詢的域名,不由本地伺服器配置區域解析,但是該伺服器快取了對應了網址對映關係,則返回解析結果,該解析不具有權威性

5.如果本地域名伺服器本地區域檔案和快取資訊都無法解析,則根據本地域名伺服器是否設定了轉發器來進行選擇。如果未使用轉發模式,則本地dns把請求發至13臺根dns,根dns伺服器收到請求會判斷(.com)是誰授權管理,返回一個負責該頂級域名伺服器的一個ip,本地dns伺服器收到ip資訊後,會聯絡這個頂級域名伺服器,這個頂級域名(.com)伺服器如果無法解析,會找一個管理下一級dns伺服器地址(baidu.com)的ip給本地dns,然後本地dns連線這個下級伺服器,重複上面的動作,直到找到www.baidu.com主機,返回其解析結果ip。

6.如果使用的是轉發模式,本地dns伺服器會把請求轉發至上級dns伺服器,由上級dns伺服器進行解析,如其無法解析,或轉至上上級或到根dns,重複上面的動作

7.首選dns失敗後,如果有備選dns伺服器,則重複3-6的步驟。

客戶機跟本地域名之間是遞迴查詢,本地域名跟其他域名伺服器之間是迭代查詢,最終都是本地域名伺服器去連線其他域名伺服器。

DNS劫持就是通過劫持了DNS伺服器,通過某些手段取得某域名的解析記錄控制權,進而修改此域名的解析結果,導致對該域名的訪問由原IP地址轉入到修改後的指定IP,其結果就是對特定的網址不能訪問或訪問的是假網址,從而實現竊取資料或者破壞原有正常服務的目的。DNS劫持通過篡改DNS伺服器上的資料返回給使用者一個錯誤的查詢結果來實現的。
DNS汙染是一種讓一般使用者由於得到虛假目標主機IP而不能與其通訊的方法,是一種DNS快取投毒攻擊(DNS cache poisoning)。其工作方式是:由於通常的DNS查詢沒有任何認證機制,而且DNS查詢通常基於的UDP是無連線不可靠的協議,因此DNS的查詢非常容易被篡改
通過對UDP埠53上的DNS查詢進行入侵檢測,一經發現與關鍵詞相匹配的請求則立即偽裝成目標域名的解析伺服器(NS,Name Server)給查詢者返回虛假結果。使用者訪問一個地址,國內的伺服器(非DNS)監控到使用者訪問的已經被標記地址時,伺服器偽裝成DNS伺服器向用戶發回錯誤的地址的行為。

區別:
DNS劫持是劫持了DNS伺服器,進而修改其解析結果。
DNS汙染是國內的某些伺服器對DNS查詢進行入侵檢測,發現與黑名單上匹配的請求,該伺服器就偽裝成DNS伺服器,給查詢者返回虛假結果。它利用了UDP協議是無連線不可靠性。

一個是劫持了DNS伺服器,一個是偽裝成DNS伺服器。造成的結果都是返回錯誤的IP地址。