上網(wǎng)強(qiáng)跳廣告/頁面劫持:其實(shí)是DNS被“污染”……
自從進(jìn)入網(wǎng)絡(luò)時(shí)代,大家的生活也愈加多姿多彩起來,但也多出了很多煩惱。例如,信息海洋中時(shí)不時(shí)出現(xiàn)的大群垃圾,以及深淵,就令人防不勝防。
這里說的正是上網(wǎng)過程中遇到莫名其妙的網(wǎng)頁跳轉(zhuǎn),好端端的一個(gè)網(wǎng)頁,突然就變成了滿屏的廣告;或者本來能正常訪問的頁面,突然就打不開了,但QQ之類的軟件卻可以正常登錄。這到底是什么原因造成的呢?其實(shí)出現(xiàn)了這些令人困擾的異?,F(xiàn)象,意味著你可能是DNS劫持、投毒的受害者。
DNS到底是什么?
雖然我們經(jīng)常上網(wǎng),但并不是每個(gè)人都對(duì)開啟一個(gè)網(wǎng)頁背后的機(jī)制了如指掌。輕點(diǎn)鼠標(biāo),網(wǎng)頁即呈現(xiàn)在眼前,何其熟悉的操作,但這熟悉操作的背后,卻蘊(yùn)藏著一套環(huán)環(huán)相扣的流程。
從用戶點(diǎn)擊鼠標(biāo)、敲下回車,到網(wǎng)頁顯示,信息首先會(huì)通過瀏覽器發(fā)送,然后經(jīng)路由中轉(zhuǎn),接著DNS將域名解析成IP,找到服務(wù)器后服務(wù)器會(huì)發(fā)送內(nèi)容給用戶,接著再由路由轉(zhuǎn)發(fā)數(shù)據(jù),最后瀏覽器將內(nèi)容呈現(xiàn)給用戶。視實(shí)際情況,這個(gè)過程中還可能存在更多關(guān)卡,比如說防火墻、代理服務(wù)器等。

網(wǎng)頁瀏覽存在諸多環(huán)節(jié),被劫持的機(jī)會(huì)很多,其中DNS非常容易被做手腳
在這套流程中,無論瀏覽器、路由、DNS、服務(wù)器等任一環(huán)節(jié)中出了叛徒,都有可能導(dǎo)致網(wǎng)頁無法訪問。而被人篡改最多的,或許就是DNS了。
DNS全稱是域名系統(tǒng),它所起到的作用,在于把域名解析為IP地址。我們能訪問到某個(gè)網(wǎng)站,靠的是連接到該網(wǎng)站服務(wù)器的IP地址,DNS在這里面起到的作用就是把“www.baidu.com”解析成“123.125.114.144”這樣的IP地址,讓你能夠連接到這地址的服務(wù)器來訪問網(wǎng)站。
在上網(wǎng)的流程中,有太多的因素可以影響到DNS,例如你的PC的設(shè)置、路由器的設(shè)置、運(yùn)營商的設(shè)置等等,DNS一旦出現(xiàn)了差錯(cuò),就會(huì)無法把域名解析成為正確的IP地址,我們自然也無法訪問到正確的頁面。因此,如果你發(fā)現(xiàn)開啟不了網(wǎng)頁,但QQ這樣直連IP的網(wǎng)絡(luò)軟件卻可以正常服務(wù),那DNS就是一個(gè)非常值得懷疑的原因。
DNS出錯(cuò)會(huì)導(dǎo)致什么后果?
DNS這個(gè)環(huán)節(jié)可以被太多因素影響,所以不少利益相關(guān)者都會(huì)在這里面做手腳。例如,DNS劫持就是非常常見的廣告投放手段。
一般情況下,如果你不特別設(shè)置DNS服務(wù)器,那么DNS服務(wù)器就會(huì)由運(yùn)營商來提供。按理來說,運(yùn)營商提供的DNS服務(wù)器應(yīng)該用于正確地為你提供IP跳轉(zhuǎn),但偏偏很多運(yùn)營商DNS服務(wù)器的人品都不堪入目。
你常常就能看到運(yùn)營商會(huì)把你給跳轉(zhuǎn)到什么開通上網(wǎng)套餐之類的頁面,甚至?xí)霈F(xiàn)你輸入A購物網(wǎng)但卻被跳轉(zhuǎn)到競爭對(duì)手B的情況,這就是所謂的DNS劫持。

開個(gè)百度,整個(gè)網(wǎng)頁都被強(qiáng)制跳轉(zhuǎn)到XX娛樂城去了,這就是典型的DNS劫持
要對(duì)付運(yùn)營商的DNS劫持,設(shè)置一個(gè)可靠的DNS服務(wù)器往往就可以解決問題。然而,很多朋友在設(shè)置了可靠的DNS服務(wù)器后,仍然不能解析到正確的IP地址,例如某個(gè)網(wǎng)站的IP地址明明是可以Ping通的,但就是無法訪問。這種情況,通常是DNS污染所導(dǎo)致的。
雖然DNS服務(wù)器能夠正常工作,但我們向DNS服務(wù)器發(fā)送域名解析請(qǐng)求的時(shí)候,是通過UDP連接發(fā)送的。UDP并不是什么可靠的連接,所以域名解析請(qǐng)求能夠在半路上就被人攔截,然后冒充DNS服務(wù)器給你發(fā)送錯(cuò)誤的IP地址。IP地址是錯(cuò)的,我們自然也不能正常地訪問網(wǎng)站,有可能會(huì)看到廣告、釣魚頁面,也有可能什么也看不到。

DNS默認(rèn)使用UDP連接,而且未經(jīng)加密,很容易遭遇污染、投毒
無論是那種情況,DNS出錯(cuò)就意味著你沒法正確地訪問網(wǎng)站。在整個(gè)上網(wǎng)的流程中,DNS這環(huán)節(jié)無疑是脆弱而且不受用戶控制的,如果一定要有人用DNS來害你沒法正常上網(wǎng),大多數(shù)人都對(duì)此無能為力。那么DNS頻頻出錯(cuò)到底還有沒有救呢?
DNS出錯(cuò)到底有沒有救?
前面也提到過,要對(duì)付運(yùn)營商的DNS劫持,我們可以設(shè)置一個(gè)可靠的DNS服務(wù)器來進(jìn)行域名解析。目前很多安全廠商或者互聯(lián)網(wǎng)企業(yè)乃至公益組織,都提供了DNS解析服務(wù)。
例如奇虎360、諾頓、Comodo、百度、阿里、Google等企業(yè),都有提供DNS解析服務(wù),你也可以選擇Open DNS這樣的老牌免費(fèi)DNS服務(wù)。
這些DNS服務(wù),都可以在網(wǎng)上輕易搜到具體的IP地址,這里就不一一羅列了。當(dāng)然,并不是說用了這些DNS服務(wù),就一定不會(huì)有DNS劫持,萬一這些企業(yè)人品也不行呢?至于誰靠譜,就得靠你來自個(gè)兒篩選了。
另外,DNS如果不是運(yùn)營商所提供的話,速度表現(xiàn)并不一定理想。這里推薦一款名為“DNS jumper”的軟件,它能夠比較全面得測(cè)試DNS的連接速度,并設(shè)置DNS。
利用DNS jumper,很容易就能夠找到適合你網(wǎng)絡(luò)狀況的DNS。另外,如果運(yùn)營商DNS劫持行為太過猖獗,也可以到工信部投訴運(yùn)營商劫持網(wǎng)頁,這的確是非常行之有效的方法,有效到了某些運(yùn)營商竟然直接屏蔽了工信部的投訴網(wǎng)頁的程度。那么該如何到工信部投訴運(yùn)營商呢?
首先,遇到網(wǎng)頁劫持的情況,不要直接向工信部投訴。按照流程,先向運(yùn)營商投訴,無效后投訴到工信部,才會(huì)被受理。工信部張貼出來的申訴條件中也包括“已經(jīng)向被申訴人投訴且對(duì)其處理結(jié)果不滿意或者其未在15日內(nèi)答復(fù)”這一條,所以先走一下流程也是有必要的,萬一向運(yùn)營商投訴就解決問題了呢?
然而事情往往不會(huì)這么美好,運(yùn)營商的回答通常很敷衍,對(duì)技術(shù)不熟悉的客服人員甚至不明白網(wǎng)頁劫持是什么意思。無效后,就可以向工信部投訴運(yùn)營商了!
- 工信部投訴網(wǎng)址:<點(diǎn)此進(jìn)入>
 - 工信部投訴電話:010-12300
 
如無意外,投訴后問題就會(huì)得以解決。
但即使如此,如果有人在DNS請(qǐng)求的UDP連接過程中做手腳,那還是防不勝防。一些公司就會(huì)利用這個(gè)原理,控制不讓員工隨便訪問網(wǎng)絡(luò)。如果要規(guī)避這個(gè)過程,思路就是避免DNS用UDP這樣不靠譜的連接來查詢。你可以利用一些手段,設(shè)置DNS為TCP連接查詢,也可以通過加密來讓其他服務(wù)器中轉(zhuǎn)DNS請(qǐng)求。

IPV6強(qiáng)制部署IPSec,這也可以讓DNS更安全
當(dāng)然,這些方法實(shí)現(xiàn)起來都需要折騰,并不符合一般用戶使用。或許在待到將來IPV6全面鋪開時(shí),DNS的安全性才會(huì)有進(jìn)一步提升。
總結(jié)
總體而言,現(xiàn)在DNS的機(jī)制顯然在設(shè)計(jì)之初沒有充分考慮到安全性,導(dǎo)致別有用心者頻頻利用這一環(huán)節(jié)影響用戶的正常網(wǎng)絡(luò)訪問。DNS頻頻被劫持、投毒的現(xiàn)狀如何才能改變?從技術(shù)上來說很難,希望以后能夠有更完善的監(jiān)管手段,讓用戶有更好的上網(wǎng)體驗(yàn)吧。

















 
 
 






 
 
 
 