[發(fā)明專利]一種基于距離測量的DNS劫持檢測方法在審
| 申請?zhí)枺?/td> | 201711338906.4 | 申請日: | 2017-12-14 |
| 公開(公告)號: | CN107920087A | 公開(公告)日: | 2018-04-17 |
| 發(fā)明(設(shè)計)人: | 楊國海 | 申請(專利權(quán))人: | 成都網(wǎng)丁科技有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L29/12 |
| 代理公司: | 成都金英專利代理事務(wù)所(普通合伙)51218 | 代理人: | 袁英 |
| 地址: | 610052 四川*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 距離 測量 dns 劫持 檢測 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計算機網(wǎng)絡(luò)領(lǐng)域,具體涉及一種基于距離測量的DNS劫持檢測方法。
背景技術(shù)
DNS劫持又稱域名劫持,是指在劫持的網(wǎng)絡(luò)范圍內(nèi)攔截域名解析的請求,分析請求的域名,把審查范圍以外的請求放行,否則返回假的IP地址或者什么都不做使請求失去響應,其效果就是對特定的網(wǎng)絡(luò)不能反應或訪問的是假網(wǎng)址。DNS(域名系統(tǒng))的作用是把網(wǎng)絡(luò)地址(域名,以一個字符串的形式)對應到真實的計算機能夠識別的網(wǎng)絡(luò)地址(IP地址),以便計算機能夠進一步通信,傳遞網(wǎng)址和內(nèi)容等。由于域名劫持往往只能在特定的被劫持的網(wǎng)絡(luò)范圍內(nèi)進行,所以在此范圍外的域名服務(wù)器(DNS)能夠返回正常的IP地址,高級用戶可以在網(wǎng)絡(luò)設(shè)置把DNS指向這些正常的域名服務(wù)器以實現(xiàn)對網(wǎng)址的正常訪問。所以域名劫持通常相伴的措施封鎖正常DNS的IP。
DNS劫持一般發(fā)生在用戶側(cè)倒DNS服務(wù)器中間鏈路的某個節(jié)點。劫持者距離用戶側(cè)相對較近,模擬DNS服務(wù)器響應用戶側(cè)請求, 利用時間差欺騙用戶,實現(xiàn)DNS 劫持目的。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于距離測量的DNS劫持檢測方法,IP協(xié)議的TTL字段用于控制數(shù)據(jù)包在網(wǎng)絡(luò)中允許通過的路由跳數(shù),路由器在轉(zhuǎn)發(fā)數(shù)據(jù)包之前先將TTL值減1,如果等于0,則丟棄不轉(zhuǎn)發(fā)。因此,本發(fā)明利用該特性控制數(shù)據(jù)包在網(wǎng)絡(luò)中的可達距離來檢測DNS是否被劫持。
本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的:
一種基于距離測量的DNS劫持檢測方法,包括以下步驟:
抓取數(shù)據(jù)包:通過被動抓包方法獲取監(jiān)控節(jié)點DNS請求成功的數(shù)據(jù)包;
確定基準TTL值:通過測距方法測量模擬節(jié)點到DNS服務(wù)器的距離記為TTL;
獲取實測TTL’值:模擬用戶側(cè)向DNS服務(wù)器請求解析域名,通過控制模擬DNS請求報文的TTL值從1依次遞增,直到收到響應報文,獲取對應的TTL值作為實測TTL’值;
劫持判定:比較實測TTL值與基準TTL’值之間的大小,如果TTL值<TTL’值,則該請求域名被劫持,反之則未被劫持。
進一步的,所述的抓取數(shù)據(jù)包步驟具體包括:
S01:啟動抓包模塊,選擇網(wǎng)卡并在選擇的網(wǎng)卡上持續(xù)采集數(shù)據(jù)包,將采集的數(shù)據(jù)包遞交給數(shù)據(jù)處理模塊,重復上述步驟直至抓包結(jié)束:
S02:數(shù)據(jù)處理模塊讀取抓包模塊遞交的數(shù)據(jù)包,并解析相關(guān)報文結(jié)構(gòu),根據(jù)報文解析結(jié)果識別DNS成功響應的數(shù)據(jù)包。
進一步的,所述的確定基準TTL’值步驟具體包括以下子步驟:
S01:從DNS成功響應的數(shù)據(jù)包中提取源IP-Port和DNS請求字段;
S02:通過發(fā)送ICMP報文或TCP報文,控制TTL值從1線性增長,測量到達DNS服務(wù)器的最小距離TTL值記為TTL。
進一步的,所述的源IP-Port是DNS服務(wù)器地址和端口,DNS請求字段是用戶發(fā)起DNS請求報文中需要解析的內(nèi)容。
進一步的,所述的獲取實測TTL’值步驟包括:發(fā)送DNS請求報文,控制TTL值從1線性增長,測量第一次接收到成功相應報文時的TTL值,標記為TTL’。
進一步的,所述步驟確定基準TTL值中的測距方法是利用ICMP協(xié)議測量模擬節(jié)點到DNS服務(wù)器的距離,即報文到達DNS服務(wù)器所需的最小TTL值。
本發(fā)明的有益效果是:本發(fā)明通過對比實測TTL值與報文到達DNS服務(wù)器所需的最小TTL值TTL’之間的大小關(guān)系,從而判斷出DNS是否被劫持,該方法判斷依據(jù)簡單且判斷結(jié)果精準無誤。
附圖說明
圖1是本發(fā)明抓取數(shù)據(jù)包的流程圖;
圖2是本發(fā)明整體流程圖。
具體實施方式
下面結(jié)合附圖進一步詳細描述本發(fā)明的技術(shù)方案,但本發(fā)明的保護范圍不局限于以下所述。
如圖1-2所示,
一種基于距離測量的DNS劫持檢測方法,包括以下步驟:
抓取數(shù)據(jù)包:通過被動抓包方法獲取監(jiān)控節(jié)點DNS請求成功的數(shù)據(jù)包;
確定基準TTL值:通過測距方法測量模擬節(jié)點到DNS服務(wù)器的距離記為TTL;
獲取實測TTL’值:模擬用戶側(cè)向DNS服務(wù)器請求解析域名,通過控制模擬DNS請求報文的TTL值從1依次遞增,直到收到響應報文,獲取對應的TTL值作為實測TTL’值;
劫持判定:比較實測TTL值與基準TTL’值之間的大小,如果TTL值<TTL’值,則該請求域名被劫持,反之則未被劫持。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于成都網(wǎng)丁科技有限公司,未經(jīng)成都網(wǎng)丁科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711338906.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 實現(xiàn)DNS區(qū)創(chuàng)建同步的方法、服務(wù)器以及域名系統(tǒng)
- 一種實現(xiàn)可離線化DNS服務(wù)的方法及裝置
- DNS查詢流量控制方法、設(shè)備和系統(tǒng)
- 一種避免DNS污染的方法
- 用于集成內(nèi)部和云域名系統(tǒng)的方法和系統(tǒng)
- 一種DNS數(shù)據(jù)包轉(zhuǎn)發(fā)方法、系統(tǒng)及路由器
- 一種VPN客戶端代理DNS的方法及裝置
- 區(qū)塊鏈域名系統(tǒng)DNS系統(tǒng)的數(shù)據(jù)更新方法及網(wǎng)絡(luò)節(jié)點
- 一種DNS域名獲取系統(tǒng)及方法
- 域名劫持防御方法及裝置、計算機裝置及存儲介質(zhì)





