【PConline 雜談】你是否也遇到過(guò)這樣的情況,就是當(dāng)我們想訪問(wèn)一個(gè)網(wǎng)站時(shí),頁(yè)面顯示的確是“無(wú)法訪問(wèn)此網(wǎng)站”,這是怎么回事?如果檢查發(fā)現(xiàn)ping不通了,這可能就與DNS有關(guān)了。那么,啥是DNS?常聽(tīng)到的DNS劫持指的又是什么?
所謂DNS,其實(shí)是Domain Name System的縮寫,翻譯過(guò)來(lái)就是域名系統(tǒng)。作為將域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù),其最主要的作用就是將域名翻譯成IP地址,從而使我們更方便地訪問(wèn)互聯(lián)網(wǎng)。
IP地址應(yīng)該不用多說(shuō)了吧?它是IP協(xié)議提供的一種統(tǒng)一的地址格式,為互聯(lián)網(wǎng)上的每一個(gè)網(wǎng)絡(luò)和每一臺(tái)主機(jī)分配一個(gè)邏輯地址,以此來(lái)屏蔽物理地址的差異。最常見(jiàn)的,就是每臺(tái)聯(lián)網(wǎng)的PC上都需要有IP地址,才能正常通信。IP地址是一個(gè)32位的二進(jìn)制數(shù),通常被分割為4個(gè)“8位二進(jìn)制數(shù)”(即4個(gè)字節(jié)),用“點(diǎn)分十進(jìn)制”表示成(a.b.c.d)的形式。例如192.168.100.1。
域名可以說(shuō)是一個(gè)IP地址的代稱,目的是為了方便我們記憶IP地址。例如,wikipedia.org是一個(gè)域名,與其對(duì)應(yīng)的IP地址就是208.80.152.2。我們可以直接訪問(wèn)wikipedia.org來(lái)代替IP地址,然后域名系統(tǒng)(DNS)就會(huì)將它轉(zhuǎn)化成便于機(jī)器識(shí)別的IP地址。而有了DNS,我們不需要記住每一個(gè)網(wǎng)站的多個(gè)IP地址,而只需知道該網(wǎng)站的域名就可以了。
換言之,當(dāng)我們?cè)L問(wèn)網(wǎng)站的時(shí)候輸入域名,是DNS在幫你解析并訪問(wèn)具體的IP地址。但是你知道嗎?如此重要的DNS一旦被污染或者被劫持,將導(dǎo)致網(wǎng)站無(wú)法正常訪問(wèn)。某些網(wǎng)絡(luò)運(yùn)營(yíng)商,為了某些目的,可能會(huì)限制某些用戶訪問(wèn)某些特定的網(wǎng)站,而限制手段最常用的就是DNS污染和DNS劫持。
先來(lái)說(shuō)說(shuō)DNS污染,又稱域名服務(wù)器緩存投毒,指那些刻意制造或無(wú)意中制造出來(lái)的域名服務(wù)器數(shù)據(jù)包,把域名指向不正確的IP地址。通常,DNS查詢沒(méi)有任何認(rèn)證機(jī)制,且DNS查詢通常基于的UDP,是個(gè)無(wú)連接不可靠的協(xié)議,導(dǎo)致DNS查詢非常容易被篡改,通過(guò)對(duì)UDP端口53上的DNS查詢進(jìn)行入侵檢測(cè),一經(jīng)發(fā)現(xiàn)與關(guān)鍵詞相匹配的請(qǐng)求,便立即偽裝成目標(biāo)域名的解析服務(wù)器(NS)給查詢者返回虛假結(jié)果。
一旦相關(guān)網(wǎng)域的局域域名服務(wù)器的緩存受到污染,就會(huì)把網(wǎng)域內(nèi)的電腦導(dǎo)引往錯(cuò)誤的服務(wù)器或服務(wù)器的網(wǎng)址。因此,簡(jiǎn)單點(diǎn)說(shuō),DNS污染指的就是把自己偽裝成DNS服務(wù)器,在檢查到用戶訪問(wèn)某些網(wǎng)站后,使域名解析到錯(cuò)誤的IP地址。
說(shuō)完DNS污染,DNS劫持又是什么呢?實(shí)際上,DNS劫持是指在劫持的網(wǎng)絡(luò)范圍內(nèi)攔截域名解析的請(qǐng)求,分析請(qǐng)求的域名并把審查范圍以外的請(qǐng)求放行,否則返回假的IP地址或者什么都不做使請(qǐng)求失去響應(yīng),其效果就是對(duì)特定的網(wǎng)絡(luò)不能訪問(wèn)或訪問(wèn)的是假網(wǎng)址。換言之,DNS劫持就是通過(guò)非法手段,獲取DNS服務(wù)器的權(quán)限,然后把DNS配置進(jìn)行修改,使域名解析到錯(cuò)誤的IP地址。
這樣看來(lái),兩者看上去似乎有些相似,其區(qū)別在何處呢?首先,DNS劫持是劫持DNS服務(wù)器,進(jìn)而修改其解析結(jié)果;DNS污染是國(guó)內(nèi)某些服務(wù)器對(duì)DNS查詢進(jìn)行入侵檢測(cè),發(fā)現(xiàn)與黑名單上匹配的請(qǐng)求,該服務(wù)器就偽裝成DNS服務(wù)器,給查詢者返回虛假結(jié)果。它利用了UDP協(xié)議是無(wú)連接不可靠性。也就是說(shuō),一個(gè)是劫持DNS服務(wù)器,一個(gè)是偽裝成DNS服務(wù)器,造成的結(jié)果都是返回錯(cuò)誤的IP地址。
看到這里,大家都清楚了嗎~
聯(lián)系客服