國內(nèi)上網(wǎng)環(huán)境中不同的人為網(wǎng)絡(luò)故障
國內(nèi)上網(wǎng)環(huán)境中不同的人為網(wǎng)絡(luò)故障1、DNS劫持 DNS劫持會導(dǎo)致我們訪問了一些不存在的或不穩(wěn)定的網(wǎng)站的時候,訪問到的卻是電信114搜索(詳見月光博客《斷網(wǎng)后互聯(lián)星空的瀏覽器劫持》)或訪問Google
國內(nèi)上網(wǎng)環(huán)境中不同的人為網(wǎng)絡(luò)故障
1、DNS劫持
DNS劫持會導(dǎo)致我們訪問了一些不存在的或不穩(wěn)定的網(wǎng)站的時候,訪問到的卻是電信114搜索(詳見月光博客《斷網(wǎng)后互聯(lián)星空的瀏覽器劫持》)或訪問Google卻顯示了Baidu的主頁(詳見月光博客《Google博客搜索搖身一變成百度》)。
如果需要確認(rèn)自己是否處在DNS劫持的環(huán)境中,我們可以在Windows命令行cmd中使用Windows自帶的網(wǎng)絡(luò)診斷工具nslookup查找一個不存在或不穩(wěn)定的域名進(jìn)行一下網(wǎng)絡(luò)診斷:
C:>nslookup www.SomeRandomDomainName.com
Server: ns-pd.online.sh.cn
Address: 202.96.209.133
Non-authoritative answer:
Name: www.SomeRandomDomainName.com
Address: 218.83.175.155
我們看到,www.SomeRandomDomainName.com本應(yīng)該是一個不存在的域名,DNS服務(wù)器應(yīng)該告訴我們這個域名不存在,但我們卻看到DNS服務(wù)器告訴我們這個域名的IP為218.83.175.155(不同地區(qū)的114搜索的IP都不同,可能得到的IP并不是218.83.175.155,而是自己所在地區(qū)的114搜索的服務(wù)器IP地址),而這個IP卻是114搜索的IP,導(dǎo)致我們在瀏覽器中訪問這個網(wǎng)站時看到的是114搜索的網(wǎng)頁。
如果需要解決DNS劫持的問題,可以把自己的域名解析服務(wù)器換乘國外的,比如OpenDNS(詳見月光博客《使用OpenDNS解決DNS域名劫持》)或Google DNS(詳見月光博客《Google推出免費(fèi)DNS服務(wù)》)。
解決之后我們再次使用nslookup查找一下這個網(wǎng)站:
C:>nslookup www.SomeRandomDomainName.com
Server: google-public-dns-a.google.com
Address: 8.8.8.8
*** google-public-dns-a.google.com can't find www.SomeRandomDomainName.com: Non-existent domain
我們看到DNS服務(wù)器正確的告訴了我們這個域名不存在,我們不會被劫持到114搜索了。
不過,正如《使用OpenDNS解決DNS域名劫持》中最后一段所說的那樣,“但是對于DNS污染的劫持,使用OpenDNS也無法解決問題”。那么接下來,我就介紹一下DNS污染。
2、DNS污染
由于DNS劫持可以通過把域名解析服務(wù)器更換為國外的來解決問題,所以系統(tǒng)需要使用DNS污染來封鎖一些域名。這樣,即使使用國外的域名服務(wù)器也得不到服務(wù)器的正確IP,所以也就無法訪問這些服務(wù)器了。比如現(xiàn)在著名的微博客始祖twitter主頁就遭到了DNS污染。
如果需要確認(rèn)域名遭到了DNS污染而不是其他的故障,首先要了解,DNS劫持是由國內(nèi)的域名服務(wù)器完成的,所以我們把域名服務(wù)器換成國外的就可以解決問題;而DNS污染是由系統(tǒng)完成的,所以即使更換了域名服務(wù)器,系統(tǒng)仍舊可以發(fā)送偽造的域名解析結(jié)果替換正確的解析結(jié)果。所以我們可以通過使用