一種基于netfilter實現DNS過濾的設計方法
【專利摘要】本發明公開了一種基于netfilter實現DNS過濾的設計方法,所述方法通過在netfilter框架上注冊數據包處理函數,對接收到DNS數據包與配置好的DNS過濾庫進行匹配,配置的內容為需要禁止訪問的網站域名,如果匹配則為禁止訪問的網站,然后給客戶端返回一個默認的域名解析結果,將客戶端訪問的網址指向一個默認的頁面。本發明方法能夠有效攔截到需要過濾的網址,并將給客戶端返回一個默認的網頁,方便對網絡的管理。
【專利說明】
一種基于netf i I ter實現DNS過濾的設計方法
技術領域
[0001 ]本發明涉及計算機信息安全技術領域,具體涉及一種基于netfi I ter實現DNS過濾的設計方法。
【背景技術】
[0002]隨著網絡的發展,網絡上提供的服務也越來越多,但有時卻需要限制訪問某些服務,比如一個公司可能為了規范公司制度需要杜絕員工訪問一些娛樂網站,還有有時也需要禁止訪問一些具有暴力、色情的網站,這時便需要禁止訪問這些服務。
【發明內容】
[0003]本發明要解決的技術問題是:本發明針對以上問題,提供一種基于netfilter實現DNS過濾的設計方法,在netf i I ter框架上注冊數據包處理函數可以對接收到DNS數據包與設置好的規則進行匹配,如果匹配則為禁止訪問的網站,然后給客戶端返回一個默認的域名解析結果。
[0004]本發明所采用的技術方案為:
一種基于netfi I ter實現DNS過濾的設計方法,所述方法通過在netfi I ter框架上注冊數據包處理函數,對接收到DNS數據包與配置好的DNS過濾庫進行匹配,配置的內容為需要禁止訪問的網站域名,如果匹配則為禁止訪問的網站,然后給客戶端返回一個默認的域名解析結果,將客戶端訪問的網址指向一個默認的頁面。
[0005]添加需要過濾的網址到DNS過濾庫,比如添加www.qq.com,這樣的話www.qq.com這個網址將不能進行訪問。當攔截到需要過濾的網址時,將給客戶端返回一個默認的網頁。
[0006]所述方法包括內容如下:
(1)、DNS過濾庫配置:對DNS過濾庫進行添加,配置需要過濾的網址集合;
(2)、DNS數據包獲取:分析數據包,根據DNS協議的格式解析DNS數據內容;
(3)、DNS過濾:將DNS數據中需要查詢的網址與DNS過濾庫中的網址進行匹配,如果匹配上則說明此網址為禁止訪問;
(4)、結果處理:如果匹配的結果為禁止訪問該網址,則偽造一個DNS應答數據包返回給客戶端,該偽造的數據包將該網址指向一個默認的頁面。
[0007]所述數據包處理函數為hook函數,對DNS數據包進行攔截。
[0008]HOOK函數是Windows消息處理機制的一部分,通過設置“鉤子”,應用程序可以在系統級對所有消息、事件進行過濾,訪問在正常情況下無法訪問的消息。當然,這么做也是需要付出一定的代價的。由于多了這么一道處理過程,系統性能會受到一定的影響,所以大家在必要的時候才使用“鉤子”,并在使用完畢及時將其刪除。
[0009]本發明的有益效果為:
本發明方法能夠有效攔截到需要過濾的網址,并將給客戶端返回一個默認的網頁,方便對網絡的管理。
【附圖說明】
[0010]圖1為本發明方法系統拓撲圖;
圖2為本發明方法操作流程圖。
【具體實施方式】
[0011]下面結合說明書附圖,根據【具體實施方式】對本發明進一步說明:
實施例1:
一種基于netfi I ter實現DNS過濾的設計方法,所述方法通過在netfi I ter框架上注冊數據包處理函數,對接收到DNS數據包與配置好的DNS過濾庫進行匹配,配置的內容為需要禁止訪問的網站域名,如果匹配則為禁止訪問的網站,然后給客戶端返回一個默認的域名解析結果,將客戶端訪問的網址指向一個默認的頁面。
[0012]添加需要過濾的網址到DNS過濾庫,比如添加www.qq.com,這樣的話www.qq.com這個網址將不能進行訪問。當攔截到需要過濾的網址時,將給客戶端返回一個默認的網頁。
[0013]實施例2
如圖1、2所示,在實施例1的基礎上,本實施例所述方法包括內容如下:
(1)、DNS過濾庫配置:對DNS過濾庫進行添加,配置需要過濾的網址集合;
(2)、DNS數據包獲取:分析數據包,根據DNS協議的格式解析DNS數據內容;
(3)、DNS過濾:將DNS數據中需要查詢的網址與DNS過濾庫中的網址進行匹配,如果匹配上則說明此網址為禁止訪問;
(4)、結果處理:如果匹配的結果為禁止訪問該網址,則偽造一個DNS應答數據包返回給客戶端,該偽造的數據包將該網址指向一個默認的頁面。
[0014]實施例3
在實施例1或2的基礎上,本實施例所述數據包處理函數為hook函數,對DNS數據包進行攔截。
[0015]HOOK函數是Windows消息處理機制的一部分,通過設置“鉤子”,應用程序可以在系統級對所有消息、事件進行過濾,訪問在正常情況下無法訪問的消息。當然,這么做也是需要付出一定的代價的。由于多了這么一道處理過程,系統性能會受到一定的影響,所以大家在必要的時候才使用“鉤子”,并在使用完畢及時將其刪除。
[0016]實施方式僅用于說明本發明,而并非對本發明的限制,有關技術領域的普通技術人員,在不脫離本發明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發明的范疇,本發明的專利保護范圍應由權利要求限定。
【主權項】
1.一種基于netfiI ter實現DNS過濾的設計方法,其特征在于:所述方法通過在netfilter框架上注冊數據包處理函數,對接收到DNS數據包與配置好的DNS過濾庫進行匹配,配置的內容為需要禁止訪問的網站域名,如果匹配則為禁止訪問的網站,然后給客戶端返回一個默認的域名解析結果,將客戶端訪問的網址指向一個默認的頁面。2.根據權利要求1所述的一種基于netfiI ter實現DNS過濾的設計方法,其特征在于,所述方法包括內容如下: (I)、DNS過濾庫配置:對DNS過濾庫進行添加,配置需要過濾的網址集合; (2 )、DNS數據包獲取:分析數據包,根據DNS協議的格式解析DNS數據內容; (3)、DNS過濾:將DNS數據中需要查詢的網址與DNS過濾庫中的網址進行匹配,如果匹配上則說明此網址為禁止訪問; (4)、結果處理:如果匹配的結果為禁止訪問該網址,則偽造一個DNS應答數據包返回給客戶端,該偽造的數據包將該網址指向一個默認的頁面。3.根據權利要求1或2所述的一種基于netfiI ter實現DNS過濾的設計方法,其特征在于:所述數據包處理函數為hook函數,對DNS數據包進行攔截。
【文檔編號】H04L29/08GK105915548SQ201610441037
【公開日】2016年8月31日
【申請日】2016年6月20日
【發明人】崔士偉
【申請人】浪潮電子信息產業股份有限公司