最近在做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...