最近在做dns解析,關(guān)注的重點(diǎn)在查詢域名ns記錄上,異常日志中捕獲到一個(gè)域名,dig查詢:
創(chuàng)新互聯(lián)是專業(yè)的中衛(wèi)網(wǎng)站建設(shè)公司,中衛(wèi)接單;提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行中衛(wèi)網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!查詢請(qǐng)求類型為ns,dig結(jié)果卻只有一條A記錄。出于好奇,查詢類型改為a類型:
這個(gè)域名dig 查詢A記錄,返回一條結(jié)果,但是每次dig下去結(jié)果都不大一樣。回到最開(kāi)始的問(wèn)題,請(qǐng)求類型為NS,
dig下去發(fā)現(xiàn)沒(méi)有ns結(jié)果,那么是否是域名沒(méi)有設(shè)置ns呢?我們用whois查看下:
可以看到ns是有的,可是dig的結(jié)果為何顯示沒(méi)有ns記錄呢?我們修改下上上節(jié)的程序代碼(完整代碼在github見(jiàn)文末),構(gòu)造一個(gè)dns解析請(qǐng)求,請(qǐng)求類型為ns,程序分析響應(yīng)的內(nèi)容,
發(fā)現(xiàn)其結(jié)果和我們用dig命令查詢是一樣的,返回結(jié)果分析后只有一條A記錄:
查一下這個(gè)地址,結(jié)果如下:
很明顯,這個(gè)結(jié)果是不正確的。
我們模擬了dig工具的dns解析過(guò)程,發(fā)現(xiàn)只能獲取到域名的A記錄,為了搞清楚到底發(fā)生了什么,我們用抓包工具來(lái)幫助我們了解原由。首先打開(kāi)抓包工具,
然后運(yùn)行程序,發(fā)一個(gè)dns查詢包,在wireshark中過(guò)濾類型,查看結(jié)果:
第一個(gè)是我們發(fā)起的查詢,可以看到類型是NS,請(qǐng)求的域名是3331.com,返回的響應(yīng)結(jié)果有三個(gè),對(duì)于linux的dig命令來(lái)說(shuō),它只處理最先到達(dá)的響應(yīng)包,也就是第一個(gè),看看第一個(gè)包中都有什么內(nèi)容:
請(qǐng)求類型ns,answers中確只有type A,并告訴我們A記錄是243.185.187.39。這就是我們所說(shuō)的dns劫持的一種,但是,查看第三個(gè)響應(yīng)包:
可以看到,ns記錄和我們用whois查詢的結(jié)果是一樣的。這就是說(shuō),查詢過(guò)程是沒(méi)有被打斷的,被問(wèn)詢的server有響應(yīng)我們的解析請(qǐng)求,只不過(guò)在這個(gè)過(guò)程中,劫持者截獲了請(qǐng)求,并偽造了多個(gè)響應(yīng)包發(fā)回來(lái)。
對(duì)于這種情況,我所使用的方法是檢測(cè)每一個(gè)返回的響應(yīng)包,判斷是否有我期望的結(jié)果,如果沒(méi)有,則丟棄這個(gè)包,否則就解析這個(gè)響應(yīng)包,同時(shí)設(shè)置read超時(shí)時(shí)間,超過(guò)設(shè)定時(shí)間則認(rèn)為沒(méi)有后續(xù)的響
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。