DNS污染

DNS污染

計算機術語
DNS污染,又稱為域名服務器緩存污染(DNS cache poisoning)或者域名服務器快取侵害(DNS cache pollution)。是指一些刻意制造或無意中制造出來的域名服務器分組,把域名指往不正确的IP地址。一般來說,外間在互聯網上一般都有可信賴的域名服務器,但為減免網絡上的交通,一般的域名都會把外間的域名服務器數據暫存起來,待下次有其他機器要求解析域名時,可以立即提供服務。一但有關網域的局域域名服務器的緩存受到污染,就會把網域内的電腦導引往錯誤的服務器或服務器的網址。
    中文名:DNS污染 外文名: 所屬學科: 英文名:DNS cache poisoningDNS cache pollution 類似手段:DNS劫持 污染源:旁路路由器

定義

DNS污染,又稱為域名服務器緩存污染(DNS cache poisoning)或者域名服務器快取侵害(DNS cache pollution)。

是指一些刻意制造或無意中制造出來的域名服務器分組,把域名指往不正确的IP地址。一般來說,外間在互聯網上一般都有可信賴的域名服務器,但為減免網絡上的交通,一般的域名都會把外間的域名服務器數據暫存起來,待下次有其他機器要求解析域名時,可以立即提供服務。一但有關網域的局域域名服務器的緩存受到污染,就會把網域内的電腦導引往錯誤的服務器或服務器的網址。域名服務器緩存污染可能是通過域名服務器軟件上的設計錯誤而産生,但亦可能由别有用心者通過研究開放架構的域名服務器系統來利用當中的漏洞。

污染詳解

某些網絡運營商為了某些目的,對DNS進行了某些操作,導緻使用ISP的正常上網設置無法通過域名取得正确的IP地址。某些國家或地區為出于某些目的防止某網站被訪問,而且其又掌握部分國際DNS根目錄服務器或鏡像,也可以利用此方法進行屏蔽。

常用的手段有:DNS劫持和DNS污染。關于DNS劫持和DNS污染的區别。對付DNS劫持的方法很簡單,隻需要把系統的DNS設置改為為國外的DNS服務器的IP地址即可解決。但是對于DNS污染,一般除了使用代理服務器和VPN之類的軟件之外,并沒有什麼其它辦法。但是利用我們對DNS污染的了解,還是可以做到不用代理服務器和VPN之類的軟件就能解決DNS污染的問題,從而在不使用代理服務器或VPN的情況下訪問原本訪問不了的一些網站。當然這無法解決所有問題,當一些無法訪問的網站本身并不是由DNS污染問題導緻的時候,還是需要使用代理服務器或VPN才能訪問的。

DNS污染的數據包并不是在網絡數據包經過的路由器上,而是在其旁路産生的。所以DNS污染并無法阻止正确的DNS解析結果返回,但由于旁路産生的數據包發回的速度較國外DNS服務器發回的快,操作系統認為第一個收到的數據包就是返回結果,從而忽略其後收到的數據包,從而使得DNS污染得逞。而某些國家的DNS污染在一段時期内的污染IP卻是固定不變的,從而可以忽略返回結果是這些IP地址的數據包,直接解決DNS污染的問題。

驗證辦法

我們在命令行下通過這樣一條命令 nslookup 域名 144.223.234.234,即可判斷該域名是否被污染,由于144.223.234.234不存在,理應沒有任何返回。但我們卻得到了一個錯誤的IP(不确定)。即可證明這個域名已經被DNS污染了。

解決方案

1、使用各種SSH加密代理,在加密代理裡進行遠程DNS解析,或者使用VPN上網。

2、修改hosts文件,操作系統中Hosts文件的優先級高于DNS服務器,操作系統在訪問某個域名時,會先檢測HOSTS文件,然後再查詢DNS服務器。可以在hosts添加受到污染的DNS地址來解決DNS污染和DNS劫持。

3、通過一些軟件編程處理,可以直接忽略返回結果是虛假IP地址的數據包,直接解決DNS污染的問題。

4、如果你是Firefox only用戶,并且隻用Firefox,又懶得折騰,直接打開Firefox的遠程DNS解析就行了。在地址欄中輸入about:config找到network.proxy.socks_remote_dns一項改成true。

相關詞條

相關搜索

其它詞條