09.02 什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?

作者 漫話編程
來源公眾號:漫話編程

下午,我正在公司瘋狂的擼著代碼,沉浸在我的代碼世界中,正在欣賞著自己剛剛寫下的一行lambda表達式,突然微信上傳來女朋友的消息。

什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


在瀏覽器輸入cn.bing.com,顯示結果如下:

什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


於是,我打開我的terminal,準備ping一下,看看到底怎麼回事:

➜ mhcoding ping cn.bing.com
PING cn.bing.com (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.046 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.091 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.098 ms
什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


晚上下班回到家,還沒等我脫下我的雙肩包,女朋友就快速的跑過來找我。

什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


DNS

DNS,是Domain Name System的縮寫,翻譯成域名系統。它作為將域名和IP地址相互映射的一個分佈式數據庫,能夠使人更方便地訪問互聯網。

DNS最主要的作用就是將域名翻譯成ip地址。

IP地址

IP地址是IP Address的縮寫,指互聯網協議地址(英語:Internet Protocol Address,又譯為網際協議地址)。IP地址是IP協議提供的一種統一的地址格式,它為互聯網上的每一個網絡和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異。

互聯網上的每一臺計算機,都會分配到一個IP地址。

IP地址被用來給Internet上的電腦一個編號。大家日常見到的情況是每臺聯網的PC上都需要有IP地址,才能正常通信。

IP地址是一個32位的二進制數,通常被分割為4個“8位二進制數”(也就是4個字節)。IP地址通常用“點分十進制”表示成(a.b.c.d)的形式。如:208.80.152.2

域名

域名,這個是很多人都熟悉的概念,我們大多數情況下,在瀏覽器上訪問某個網站的時候,都是通過域名訪問的。

域名是由一串用點分隔的字符組成的互聯網上某一臺計算機或計算機組的名稱,用於在數據傳輸時標識計算機的電子方位。

域名可以說是一個IP地址的代稱,目的是為了便於記憶後者。

例如,wikipedia.org是一個域名,和IP地址208.80.152.2相對應。人們可以直接訪問wikipedia.org來代替IP地址,然後域名系統(DNS)就會將它轉化成便於機器識別的IP地址。

這樣,人們只需要記憶wikipedia.org這一串帶有特殊含義的字符,而不需要記憶沒有含義的數字。

什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


域名、IP和DNS

在現實生活中,我們可能經常需要通過電話找人,每一臺接入網絡的電話都有一個自己獨一無二的號碼。

有的時候,我們想要打某個公司的客服電話,如想要給工商銀行的客服打電話,想查詢賬戶餘額。但是我們不知道具體號碼,我們可以撥打114,告訴他們自己想要撥打工商銀行的電話。然後114的客服會幫你查詢到工商銀行的電話,並幫你自動轉接到工商銀行的客服電話。

這個過程就和域名、IP地址以及DNS之間的關係比較像了。

每一臺接入網絡的電話 -> 每一臺接入網絡的計算機
工商銀行 -> 域名
電話號碼 -> ip地址
114諮詢臺 -> DNS

有了DNS,我們不需要記住每一個網站的多個IP地址,我們只需要之道這個網站的域名就可以了。就像我們不關心工商銀行的客服電話,我們只需要知道我們要找工商銀行就可以了。

而且,對於一個網站來說,一個域名會對應其無數個IP地址。會通過負載均衡等方式進行調配。就像工商銀行的客服中心也有很多分機的道理是一樣的。

什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


某些網絡運營商為了某些目的,可能會限制某些用戶訪問某一些特定的網站,而限制手段最常用的就是DNS汙染和DNS劫持。

正常情況下,當我們訪問某個域名的時候,會跳轉到失敗頁面,但是如果爬到牆外,就可以正常訪問。比如所謂的qiang。

還有一種典型場景,當我們的寬帶欠費的時候,訪問某個網站時,被自動跳轉到運營商網站,提示充值。

這都是運營商在DNS上做了手腳。其目的是為了讓域名無法解析到正常的IP地址。

而此次必應無法訪問期間,通過ping可以發現,cn.bing.com被DNS解析成127.0.0.1。這是無法訪問bing的直接原因原因。

127.0.0.1是回送地址,指本地機,一般用來測試使用。

DNS汙染

網域服務器緩存汙染(DNS cache pollution),又稱域名服務器緩存投毒(DNS cache poisoning),是指一些刻意製造或無意中製造出來的域名服務器數據包,把域名指往不正確的IP地址。

其工作方式是:由於通常的DNS查詢沒有任何認證機制,而且DNS查詢通常基於的UDP是無連接不可靠的協議,因此DNS的查詢非常容易被篡改,通過對UDP端口53上的DNS查詢進行入侵檢測,一經發現與關鍵詞相匹配的請求則立即偽裝成目標域名的解析服務器(NS,Name Server)給查詢者返回虛假結果。

DNS汙染指的是用戶訪問一個地址,國內的服務器(非DNS)監控到用戶訪問的已經被標記地址時,服務器偽裝成DNS服務器向用戶發回錯誤的地址的行為。為了減免網絡上的交通,一般的域名都會把外間的域名服務器數據暫存起來,待下次有其他機器要求解析域名時,可以立即提供服務。一旦有關網域的局域域名服務器的緩存受到汙染,就會把網域內的電腦導引往錯誤的服務器或服務器的網址。

什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


簡單點說,DNS汙染是指把自己偽裝成DNS服務器,在檢查到用戶訪問某些網站後,使域名解析到錯誤的IP地址。

DNS劫持

DNS劫持又稱域名劫持,是指在劫持的網絡範圍內攔截域名解析的請求,分析請求的域名,把審查範圍以外的請求放行,否則返回假的IP地址或者什麼都不做使請求失去響應,其效果就是對特定的網絡不能訪問或訪問的是假網址。

什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


簡單點說,DNS劫持指的是通過非法手段,獲取DNS服務器的權限,然後把DNS配置進行修改,使域名解析到錯誤的IP地址。

DNS汙染和DNS劫持的區別

DNS劫持是劫持了DNS服務器,進而修改其解析結果。

DNS汙染是國內的某些服務器對DNS查詢進行入侵檢測,發現與黑名單上匹配的請求,該服務器就偽裝成DNS服務器,給查詢者返回虛假結果。它利用了UDP協議是無連接不可靠性。

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

什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


如何解決DNS汙染和劫持

對於 DNS劫持,可以通過手動更換DNS服務器為第三方公共DNS解決。

公共DNS 是一種面向大眾的免費的 DNS 互聯網基礎服務。更換 DNS 服務器地址為 公共DNS 後,可以在一定程度上加快域名解析速度、防止 DNS劫持、加強上網安全,還可以屏蔽大部分運營商的廣告。

下圖就是常用的公共DNS:

什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


(圖源:http://www.yunweipai.com/archives/5175.html)

對於 DNS汙染,可以說,個人用戶很難單單靠設置解決,通常可以使用 VPN 或者域名遠程解析的方法解決。

什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


必應掛了如何訪問

什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


一、用必應(Bing)臨時域名

www2.bing.com 或者 www4.bing.com

二、強制綁定host

用戶只需要暫時修改下host然後坐等微軟服務器恢復後再刪除即可。即強制指定cn.bing.com指向的IP地址。

13.107.21.200 cn.bing.com

修改後如果瀏覽器依然無法正常打開請直接重啟系統,重啟後再嘗試打開必應搜索看看能否恢復正常訪問。

三、修改DNS服務器

把DNS修改成公共DNS,如8.8.8.8 或者 114.114.114.114。

參考:https://laod.cn/news/cn-bing-com-404.html

什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?



什麼是DNS?什麼是DNS汙染?什麼又是DNS劫持?


事件後續

1月23日下午,有網友發現微軟搜索引擎網站必應(Bing)出現無法訪問故障。打開之後顯示,“無法訪問此網站”。

1月24日,微軟發言人先後回覆記者稱,“正在展開調查”以及“我們正在積極應對,以確定下一步相關措施”。

1月25日早上,微軟發言人回覆記者稱,“我們確認必應網站之前在中國無法訪問,但是現已恢復正常”。不過,微軟並未透露此前不能正常訪問的原因。

本文的重點是分析必應無法被正常訪問的原因,關於域名、DNS等並未深入和展開介紹,如果讀者感興趣,後面會繼續逐一展開介紹。


分享到:


相關文章: