一种基于netfilter实现DNS过滤的设计方法

文档序号:10555604阅读:777来源:国知局
一种基于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日
【发明人】崔士伟
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1