dns劫持分析

2022-07-21 02:24:09 字數 1776 閱讀 2473

最近在做dns解析,關注的重點在查詢網域名稱ns記錄上,異常日誌中捕獲到乙個網域名稱,dig查詢:

查詢請求型別為ns,dig結果卻只有一條a記錄。出於好奇,查詢型別改為a型別:

這個網域名稱dig 查詢

a記錄,返回一條結果,但是每次

dig下去結果都不大一樣。回到最開始的問題,

請求型別為ns,

dig下去發現沒有

ns結果,那麼是否是網域名稱沒有設定

ns呢?我們用

whois

檢視下:

可以看到ns是有的,可是

dig的結果為何顯示沒有

ns記錄呢?

我們修改下上上節的程式**(完整**在github見文末),構造乙個dns解析請求,

請求型別為

ns,程式分析響應的內容,

發現其結果和我們用dig命令查詢是一樣的,返回結果分析後只有一條

a記錄:

很明顯,這個結果是不正確的。

我們模擬了dig工具的

dns解析過程,發現只能獲取到網域名稱的

a記錄,為了搞清楚到底發生了什麼,我們用抓包工具來幫助我們了解原由。首先開啟抓包工具,

然後執行程式,發乙個dns查詢包,在

wireshark中

過濾型別,檢視結果:

第乙個是我們發起的查詢,可以看到型別是ns,請求的網域名稱是

3331.com

,返回的響應結果有三個,對於

linux

的dig

命令來說,它只處理最先到達的響應包,也就是第乙個,看看第乙個包中都有什麼內容:

請求型別ns,

answers

中確只有

type a

,並告訴我們

a記錄是

243.185.187.39

。這就是我們所說的

dns劫持的一種,但是,檢視第三個響應包:

可以看到,ns記錄和我們用

whois

查詢的結果是一樣的。這就是說,查詢過程是沒有被打斷的,被問詢的

server

有響應我們的解析請求,只不過在這個過程中,劫持者截獲了請求,並偽造了多個響應包發回來。

對於這種情況,我所使用的方法是檢測每乙個返回的響應包,判斷是否有我期望的結果,如果沒有,則丟棄這個包,否則就解析這個響應包,同時設定read超時時間,超過設定時間則認為沒有後續的響

應包了。有興趣的可以移步github檢視**:

DNS劫持 流量劫持,HTTP HTTPS劫持

dns劫持 dns劫持就是通過劫持了dns伺服器,通過某些手段取得某網域名稱的解析記錄控制權,進而修改此網域名稱的解析結果,導致對該網域名稱的訪問由原ip位址轉入到修改後的指定ip,其結果就是對特定的 不能訪問或訪問的是假 從而實現竊取資料或者破壞原有正常服務的目的。dns劫持通過篡改dns伺服器上...

DNS 劫持和DNS 汙染

dns 是domain name server 的簡稱。當然如果你搜尋到這篇文章,那麼我猜測你可能對dns也有一定的了解了。所以對dns的基本知識我就不在介紹了。舉個例子,說到劫持,我們可能聯想到乙個壞蛋劫持了dns伺服器,拿著刀架在脖子上。這時候你問dns伺服器,博主帥嗎?發出請求 dns伺服器聽...

HTTP HTTPS與流量劫持 DNS劫持

dns劫持 類似使用導航系統時,導航被劫持,給了一條駛向賊窩的路線。流量劫持 類似寫信,信的內容被改過,收信人並不知情。1,http不能防dns劫持,劫持者可以把網域名稱解析指向別的伺服器ip。2,http不能防流量劫持,內容是不加密的,劫持者可以把源站返回的內容加料,比如加些小廣告。1,https...