CN102420837A - 基于ndis的方法及系统 - Google Patents
基于ndis的方法及系统 Download PDFInfo
- Publication number
- CN102420837A CN102420837A CN2009102110541A CN200910211054A CN102420837A CN 102420837 A CN102420837 A CN 102420837A CN 2009102110541 A CN2009102110541 A CN 2009102110541A CN 200910211054 A CN200910211054 A CN 200910211054A CN 102420837 A CN102420837 A CN 102420837A
- Authority
- CN
- China
- Prior art keywords
- data
- intercepting
- capturing
- packing data
- intercepted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种基于NDIS的方法及系统。该方法包括:配置参数数据,并将参数数据存储到共享存储模块中;其中参数数据包括定制的访问规则;截获从协议驱动器层向微端口驱动器层或者从微端口驱动器层发向协议驱动器层发送的打包数据;分析截获的打包数据,确定打包数据中携带的数据符合存储到共享存储模块中的访问规则;对截获的打包数据进行重定向/内容过滤处理。本发明提供的基于NDIS重定向/内容过滤的方法及系统,在执行重定向和内容过滤处理时不需要经过应用层的层层叠加处理,降低了系统开销,提高了响应速度和重定向的效率,根据配置的参数数据执行重定向和内容过滤可靠性更高。
Description
技术领域
本发明涉及网络驱动程序接口标准技术(NDIS,Network DriverInterface Specification),尤其涉及基于NDIS的方法及系统。
背景技术
网络用户在通过浏览器访问某个网址时,时常会注意到打开的网页地址和最初输入的地址并不一致的现象,即重定向。统一资源定位符(URL,Uniform Resource Locator)重定向是指如果网站有“正规URL”和“别名URL”,当用户输入“别名URL”时,需要将器重定向到“正规URL”以访问同一个网址;或者是在网站更新了域名后,在用户输入旧的域名后,将旧域名重定向到新域名。简单来说,URL重定向就是首先获得一个进入的URL请求,然后把它修改为网站可以处理的另一个URL的过程。举个例子来说,如果通过浏览器进来的URL是“www.mysite.com/UserProfile/1.aspx”,那么它可以被重写成“www.mysite.com/UserProfile.aspx?ID=1”这样的URL可以被网站更好地识别。灵活的URL重写可以让网站具有更加友好的可用性和更加专业的服务特性,同时也有利于网站更好的被搜索引擎索引收录。
URL重定向可以通过编程的方式来实现。例如,ASP.NET中的“Contex.RewritePath()”方法可以用来实现对URL的重写请求,一旦URL重写后,系统将使用新的路径来继续执行请求。很多网络协议都支持“重定向”功能,例如在HTTP协议中支持“Location”指令,接收到这个指令的浏览器将自动重定向到“Location”指明的另一个URL上。
目前,现有技术基本上都是通过应用层进行URL重定向。然而,在应用层上很难做到定制配置信息,设置访问规则,因而不能满足用户对敏感信息等内容的过滤业务要求。此外,当前的URL重定向在应用层执行,对系统资源消耗大,造成系统响应速度慢,以及不能及时处理大并发访问等棘手问题。
发明内容
本发明的目的是提供一种基于NDIS的重定向和/或内容过滤的方法及系统,通过对中间驱动器层改造设置相应配置信息和访问规则,降低了系统进行重定向和/或内容过滤等处理的系统开销,提高了响应速度和处理效率。本发明提供如下技术方案:
本发明的一个方面提供一种基于NDIS重定向的系统,该系统包括:第一配置界面模块,用于配置参数数据,参数数据包括截获协议和重定向地址;第一网络包截获模块,用于截获从协议驱动器层向微端口驱动器层发送的打包数据,打包数据携带了即将访问网站的地址;第一分析模块,用于对第一网络包截获模块截获的打包数据进行分析,判断打包数据中携带的访问网址是否符合截获协议;第一修改模块,用于在打包数据中携带的访问网址符合截获协议时,将截获数据中的访问地址修改为参数数据中的重定向地址。
本发明提供的基于NDIS重定向的系统的一个实施例中,该系统还包括:第一共享存储模块,用于存储通过第一配置界面模块配置的参数数据,并向第一分析模块和第一修改模块提供访问接口。
本发明提供的基于NDIS重定向的系统的一个实施例中,第一分析模块进一步包括第一数据缓存,用于对第一网络包截获模块截获的打包数据进行缓存,以便分析模块高效分析截获数据。
本发明的另一个方面提供一种基于NDIS内容过滤的系统,该系统包括:第二配置界面模块,用于配置参数数据,参数数据包括截获关键字;第二网络包截获模块,用于截获从协议驱动器层向微端口驱动器层发送的打包数据,打包数据携带了要呈现的内容;第二分析模块,用于对第二网络包截获模块截获的打包数据进行分析,判断打包数据中携带的内容是否符合截获关键字;第二修改模块,用于在打包数据中携带的内容符合截获关键字时,删除或替换截获数据中的内容。
本发明提供的基于NDIS内容过滤的系统的一个实施例中,该系统还包括:第二共享存储模块,用于存储通过第二配置界面模块配置的参数数据,并向第二分析模块和第二修改模块提供访问接口。
本发明提供的基于NDIS内容过滤的系统的一个实施例中,第二分析模块进一步包括第二数据缓存,用于对第二网络包截获模块截获的打包数据进行缓存,以便第二分析模块高效分析截获数据。
本发明的另一个方面提供一种基于NDIS重定向的方法,该方法包括:配置参数数据,参数数据包括截获协议和重定向地址;截获从协议驱动器层向微端口驱动器层发送的打包数据,打包数据携带了即将访问网站的地址;对截获的打包数据进行分析,判断打包数据中携带的访问网址是否符合截获协议;在打包数据中携带的访问网址符合截获协议时,将截获数据中的访问地址修改为参数数据中的重定向地址。
本发明的提供的基于NDIS重定向的方法的一个实施例中,该方法进一步包括:在分析截获的打包数据之后,判断打包数据中携带的数据是否符合存储到共享存储模块中的访问规则;如果打包数据中携带的数据符合存储到共享存储模块中的访问规则,那么对截获的打包数据进行重定向处理;否则,直接传输打包数据以向用户呈现数据内容。
本发明的另一个方面提供一种基于NDIS内容过滤的方法,该方法包括:配置参数数据,参数数据包括截获关键字;截获从协议驱动器层向微端口驱动器层发送的打包数据,打包数据携带了要呈现的内容;对截获的打包数据进行分析,判断打包数据中携带的内容是否符合截获关键字;在打包数据中携带的内容符合截获关键字时,删除或替换截获数据中的内容。
本发明的另一个方面提供一种基于NDIS重定向和内容过滤的方法,该方法包括:配置参数数据,参数数据包括截获协议、截获关键字和重定向地址;截获从协议驱动器层向微端口驱动器层发送的打包数据,打包数据携带了即将访问网站的地址;对截获的打包数据进行分析,判断打包数据中携带的访问网址是否符合截获协议;在打包数据中携带的访问网址符合截获协议时,将截获数据中的访问地址修改为参数数据中的重定向地址;截获从协议驱动器层向微端口驱动器层发送的打包数据,打包数据携带了要呈现的内容;对截获的打包数据进行分析,判断打包数据中携带的内容是否符合截获关键字;在打包数据中携带的内容符合截获关键字时,删除或替换截获数据中的内容。
本发明提供的一种基于NDIS的方法及系统,通过在协议驱动器层和微端口驱动器层中间设置重定向/内容过滤系统,截获协议驱动器层与微端口驱动器层之间发送的数据包,对符合访问规则中预定截获协议下的需要重定向的网址进行URL重定向,或在截获数据中的某项内容符合共享存储模块中的截获关键字时,删除或替换截获数据中的相关内容。本发明提供的重定向和内容过滤方法不需要经过应用层的层层叠加处理,降低了系统开销,提高了响应速度和重定向的效率,根据配置的参数数据执行重定向和内容过滤可靠性更高。
附图说明
图1示出了现有技术中NDIS的层次结构图;
图2示出本发明基于NDIS的系统的一个实施例的结构示意图;
图3示出本发明基于NDIS的系统的一个实施例的结构示意图;
图4示出本发明基于NDIS的方法的一个实施例的流程图;
图5示出本发明基于NDIS的方法的一个实施例的流程图;
图6示出本发明基于NDIS的重定向的方法的一个实施例的流程图;
图7示出本发明基于NDIS的重定向的方法的一个实施例的流程图;
图8示出本发明基于NDIS的重定向的系统的一个实施例的结构示意图;
图9示出本发明基于NDIS的内容过滤的方法的一个实施例的流程图;
图10示出本发明基于NDIS的内容过滤的方法的一个实施例的流程图;
图11示出本发明基于NDIS的内容过滤的系统的一个实施例的结构示意图;
图12示出基于NDIS的重定向和内容过滤的方法的一个具体实施例的流程图。
具体实施方式
在说明本发明之前,为更加清楚地理解本发明,首先对NDIS的层次结构作简要说明。
网络驱动接口标准(NDIS,Network Driver InterfaceSpecification)是Windows操作系统为网络适配器(NIC,NetworkInterface Card)制定标准的应用程序编程接口(API,ApplicationProgramming Interface)。NDIS横跨传输层、网络层和数据链路层,制定了网卡或网卡驱动程序与上层协议驱动程序之间的通信接口规范,屏蔽了底层物理硬件的不同,使上层的协议驱动程序可以和底层任何型号的网卡进行通信。
图1示出了现有技术中NDIS的层次结构图。如图1所示,NDIS100支持三种类型的网络驱动程序:
协议驱动器层(Upper-level Protocol Driver)102,高层的协议驱动,用来执行具体的网络协议(如IPX/SPX、TCP/IP等),并向上提供传输驱动接口(TDI,Transport Driver Interface)108。协议驱动程序。协议驱动器层为应用层客户程序提供服务,接收来自网卡或中间驱动程序的信息。
中间驱动器层(Intermediate Protocol Driver)104,位于协议驱动器层102和微端口驱动器层106之间,它向协议驱动器层102提供协议函数集,向微端口驱动器层106提供微端口函数集;因此,中间驱动器层104对于上层协议驱动器层102而言,它是微端口驱动器;对于底层的微端口驱动器层106来说,它是协议驱动器。
微端口驱动器层(Miniport Driver)106,底层的网络适配器驱动器,即网络设备的物理驱动器,作为网卡110与上层驱动器通信的接口,它负责接收来自上层驱动器的数据包,或将数据包发送到上层的驱动器,以及完成处理中断等工作。
NDIS 100向上提供一个传输驱动接口(TDI)108,向下通过微端口驱动器106与物理网络设备(如网卡110)交互。网卡由不同的网卡设备厂商提供的,而NDIS接口库是由Microsoft开发的。在NDIS微端口驱动器中,网卡驱动的程序通过NDIS接口提供的一组功能函数,与物理的网络设备进行交互。
而NDIS具有向上提供网络传输驱动接口,向下与网卡等物理设备连接的特性,其中的中间驱动层104起到连接上层应用层与下层物理网卡设备的桥梁作用。但是,当前NDIS中间层一般也只是用于配置杀毒软件(如设置网络防火墙等),对其进行有效、充分利用还有待进一步的开发。鉴于现有技术都是通过应用层进行URL重定向,无法设定访问访问规则(如对访问内容进行过滤等),而且还存在系统开销大、响应速度慢等缺陷;本发明创造性地提出在NDIS的中间驱动器层中设置重定向/内容过滤系统,通过在NDIS中间驱动器层设置重定向/内容过滤系统的方式,数据从网卡进来后就进入了重定向/内容过滤系统,而无需要经过应用层的层层叠加处理,极大地提高了处理效率和执行可靠性,同时在NDIS中间驱动层中设置重定向/内容过滤系统后还可以对其做进一步的自定义开发。
为了更全面地理解本发明及其优点,下面结合附图及具体实施例对本发明做进一步详细地说明。
图2示出本发明的基于NDIS的系统的一个实施例的结构示意图。
如图2所示,在上层的协议驱动器层202和下层的微端口驱动器层206之间设置基于NDIS的系统204,该系统204用于对系统参数数据进行配置,并将其存储到共享存储模块中,其中系统参数数据包括定制的访问规则配置数据(如截获协议,截获协议可以理解为是任何网络地址访问协议,包括“HTTP”、“HTTPS”、“FTP”等,截获关键字可以包括各种敏感字词和禁止规定,各种规定需要重定向的地址等);截获从微端口驱动层206发向协议驱动层202或者从协议驱动层202发向微端口驱动层206的打包数据,并对截获的打包数据进行分析以判断截获数据中携带的数据是否属于之前存储到共享存储模块中的访问规则配置数据;以及在截获数据中的数据属于共享存储模块中的访问规则的情况下对截获数据进行相应处理,如将截获数据中的访问地址修改为参数数据中的重定向地址或将截获数据中属于截获关键字的内容删除或替换。稍后对访问规则做进一步的简要描述。
所涉及的系统参数数据涉及要截获协议、截获关键字、限定时间、以及重定向地址等信息,下面给出了参数数据的一个示例:
AutoRun=0 //是否开机运行;
EnableLog=1 //是否打开日志功能;
Password= //执行密码;
WebKey= //内容关键字;
Protocol=http:// //截获的协议;
DirectionTo=www.b××.com //重定向地址;
EffectiveTime=0000-00-00 08:30:00 0000-00-00 17:30:00//定时开启关闭监视功能。
根据设置的参数数据,可以预先定制访问的对象属于或含有至少其中一种参数数据时进行相应的重定向/内容过滤处理。例如,如果截获协议属于“http://”且访问网址为“www.g××.com.cn”,则重定向/内容过滤系统对该访问网址进行重定向,如重定向到新的网址“http://www.b××.com”。以上仅为举例说明,本领域技术人员根据本发明的教导可以清楚的知晓,其可以根据实际重定向/内容过滤的需要配置其它类型的参数数据,并且根据实际需要设置访问规则(如选取一种参数数据或对参数数据进行各种组合)以达到准确进行重定向和内容过滤的要求。
图3示出本发明的基于NDIS的系统的一个实施例的结构示意图。
如图3所示,该系统300包括配置界面模块302、共享存储模块304、网络包截获模块306、分析模块308和修改模块310。
其中,配置界面模块302用于通过对参数数据进行配置,并且将其存储到共享存储模块304中,其中参数数据包括定制的访问规则配置数据(如截获协议、截获关键字、重定向地址等)。
共享存储模块304,用于存储通过配置界面模块302配置的参数数据,其中参数数据包括定制的访问规则配置数据(如截获协议、截获关键字、重定向地址等)。
网络包截获模块306,用于截获从微端口驱动层发向协议驱动层或者从协议驱动层发向微端口驱动层的打包数据。
分析模块308,用于对网络包截获模块所截获的数据进行分析以判断截获数据中携带的数据是否属于之前存储到共享存储模块中的访问规则。
修改模块310,用于在截获数据中的数据属于共享存储模块中的访问规则的情况下对截获数据进行相应处理。其中相应处理包括将截获数据中的访问地址修改为参数数据中的重定向地址或将截获数据中属于截获关键字的内容删除或替换。
本发明提供的基于NDIS的系统可以单独应用于URL重定向或者内容过滤,也可以组合起来用于重定向和内容过滤,例如将网易网站重定向成百度网站,并且显示内容过滤之后的百度网页。本领域普通技术人员根据本发明的教导可以清楚地知晓,本发明的系统的应用并不局限于此,而是可通过参数配置来定制访问规则。从重定向和内容过滤这两个应用来说,参数配置中的截获协议和截获关键字属于预先定制的访问规则。
图4示出本发明基于NDIS的方法的一个实施例的流程图。
如图4所示,基于NDIS的方法流程400包括:步骤402,对参数数据进行配置并将其存储到共享存储模块中。例如,在启用NDIS的重定向或内容过滤系统进行网址重定向或内容过滤处理前,先对参数数据进行配置,并且将其存储到共享存储模块中,其中参数数据包括定制的访问规则配置数据(如截获协议、截获关键字、重定向地址等)。
步骤404,截获从微端口驱动层发向协议驱动层或者从协议驱动层发向微端口驱动层的打包数据。例如,由重定向或内容过滤系统的网络包截获模块截获从微端口驱动层发向协议驱动层或者从协议驱动层发向微端口驱动层的打包数据。
步骤406,确定所截获数据中携带的数据属于之前存储到共享存储模块中的访问规则。对所截获的数据进行分析以判断截获数据中携带的数据是否属于之前存储到共享存储模块中的访问规则。
步骤408,对截获数据进行重定向或内容过滤处理。例如,在截获数据中的数据符合共享存储模块中的访问规则的情况下,对截获数据进行相应处理。如果截获数据符合访问规则中预定截获协议下的需要重定向的网址,则对其进行重定向处理;如果截获数据中的数据属于访问规则中参数数据规定的截获关键字或截获关键字的组合,则过滤掉所述截获内容;随后将经过重定向或内容过滤后的内容呈现给用户。
图5示出本发明基于NDIS的方法的一个实施例的流程图。步骤502、步骤504和步骤508可以分别执行与图4所示的步骤402、步骤404和步骤408相同或相似的技术内容,为简洁起见,这里不再赘述其技术内容。
如图5所示,在步骤504“截获从微端口驱动层发向协议驱动层或者从协议驱动层发向微端口驱动层的打包数据”之后,步骤508“对截获数据进行重定向/内容过滤处理”之前,执行步骤506判断“所截获的数据是否符合共享存储模块中的访问规则”。如果截获数据符合访问规则中预定截获协议下的需要重定向的网址,则对其进行重定向处理,或者如果截获数据中的数据属于访问规则中参数数据规定的截获关键字或截获关键字的组合,则执行步骤508;否则,执行步骤510,即直接传输数据包以及向用户呈现数据包内容。
本发明提供的基于NDIS的方法,对NDIS的中间驱动层进行改造,在协议驱动器层和微端口驱动器层中间的中间驱动层设置有重定向/内容过滤系统;协议驱动器层向微端口驱动器层下载的数据包或从微端口驱动器层接口对应的网卡进来的数据包直接进入了重定向/内容过滤系统,不需要经过应用层的层层叠加处理,降低了系统开销,提高了响应速度和重定向/内容过滤的效率,根据配置的参数数据执行重定向或内容过滤可靠性更高。
图6示出本发明基于NDIS的重定向的方法的一个实施例的流程图。以访问网易网站怎么重定向成百度网站为例来进行描述。
如图6所示,基于NDIS的重定向的方法流程600包括:步骤602,对参数数据进行配置并将其存储到共享存储模块中。例如,在启用NDIS重定向系统进行URL重定向前,先对参数数据进行配置,并且将其存储到共享存储模块中,其中参数数据包括定制的访问规则配置数据(如截获协议、截获关键字、重定向地址等),如通过重定向系统的配置界面模块设置参数数据:截获协议为“http://www.163.com”,重定向网址为“www.baidu.com”。
步骤604,截获从协议驱动层发向微端口驱动层的打包数据。例如,用户通过使用浏览器等方式访问网易网站(如在导航栏输入www.163.com),协议驱动器层对用户所输入的访问网址进行打包并发送至重定向系统;重定向系统的网络包截获模块获取协议驱动器层发向微端口驱动器层的数据。
步骤606,确定截获数据符合存储到共享存储模块中的访问规则。例如,重定向系统的分析模块对截获的数据进行分析,确定数据符合存储在共享存储模块中的访问规则(如截获协议为“http://www.163.com”)。
步骤608,对截获数据进行URL重定向。例如,重定向系统中的修改模块将用户输入的网易网址(http://www.163.com)修改为共享存储模块中的重定向地址(http://www.baidu.com),然后向微端口驱动器层发送数据。此时,要访问的网站服务器已从网易服务器修改为百度服务器。此后,微端口驱动层通过NetCard(网卡)将访问网址(已修改为百度网址)发送到访问服务器。
本发明提供的基于NDIS的重定向的方法的一个实施例中,可以将重定向系统安装在本地PC机中,并且微端口驱动器层位于网卡(NetCard)之上;在访问网站服务器接收到PC的请求之后通过网卡将web数据发送到微端口驱动层;微端口驱动层通过中间驱动器层和协议驱动器层将所接收到的web数据发送到应用层浏览器以呈现百度网页。
图7示出本发明基于NDIS的重定向的方法的一个实施例的流程图。其中步骤702、步骤704和步骤708可以分别执行与图6所示的步骤602、步骤604和步骤608相同或相似的技术内容,为简洁起见,这里不再赘述其技术内容。
如图7所示,在步骤704“截获从协议驱动层发向微端口驱动层的打包数据”之后,步骤708“对截获数据进行URL重定向”之前,执行步骤706判断“所截获的数据是否符合共享存储模块中的访问规则”。如果截获数据符合访问规则中预定截获协议下的需要重定向的网址(如判断截获协议是否为“http://www.163.com”),则执行步骤708,执行重定向处理,并向用户呈现百度网页;否则,执行步骤710,即直接传输数据包以向用户呈现网易网页。
本发明提供的基于NDIS的重定向的方法,通过设置在协议驱动器层和微端口驱动器层中间的重定向系统,截获协议驱动器层向微端口驱动器层下载的数据包,对符合访问规则中预定截获协议下的需要重定向的网址进行URL重定向处理;由此可见,本发明提供的重定向方法不需要经过应用层的层层叠加处理,降低了系统开销,提高了响应速度和重定向的效率,根据配置的参数数据执行重定向可靠性更高。
图8示出本发明基于NDIS的重定向的系统的一个实施例的结构示意图。以访问网易网站怎么重定向成百度网站为例来进行描述。
如图8所示,基于NDIS的重定向系统800用于URL重定向。重定向系统800包含第一配置界面模块802、第一共享存储模块804、第一网络包截获模块806、第一分析模块808和第一修改模块810。
其中,第一配置界面模块802用于通过对参数数据进行配置,并且将其存储到第一共享存储模块804中。其中参数数据例如包括要截获协议、截获关键字、限定时间,以及重定向地址等等(例如截获协议“Protocol=http://www.163.com”,重定向网址“DirectionTo=www.baidu.com”)。
第一共享存储模块804,用于存储通过第一配置界面模块802配置的参数数据,其中参数数据包括定制的访问规则配置数据(例如截获协议“Protocol=http://www.163.com”,重定向网址“DirectionTo=www.baidu.com”)。
第一网络包截获模块806,用于在用户通过浏览器等方式访问网站网易网址(如在导航栏输入“http://www.163.com”)的情况下,截获从协议驱动层发向微端口驱动层的打包数据,该打包数据携带了即将所访问网站访问地址(“http://www.163.com”)。
第一分析模块808,用于对第一网络包截获模块806截获的数据进行分析,通过将截获的数据与第一共享存储模块804中存储的参数数据和访问规则进行比较来判断截获数据中携带的访问网址(“http://www.163.com”)是否属于之前存储到共享存储模块中的截获协议(例如截获协议“Protocol=http://www.163.com”)。
第一修改模块810,用于在截获数据中的访问网址属于共享存储模块中的截获协议的情况下,将截获数据中的访问地址(“http://www.163.com”)修改为共享存储模块中的重定向地址(“http://www.baidu.com”)。此后,通过协议驱动层将数据发送到应用层浏览器以重定位后的网址。
本发明提供的基于NDIS重定向的系统的一个实施例中,第一分析模块808进一步包括数据缓存(如数据堆栈或数据队列),该数据缓存用于对数据进行缓存(保持),以保证网络接收包的速度,从而高效率地实现了对数据包的处理操作。
图9示出本发明基于NDIS的内容过滤的方法的一个实施例的流程图。以对来自访问网址(百度网站)的内容进行过滤为例来进行描述。
如图9所示,基于NDIS的内容过滤的方法流程900包括:步骤902,对参数数据进行配置并将其存储到共享存储模块中。例如,在启用NDIS内容过滤系统进行内容过滤前,先需要对参数数据进行配置,并且将其存储到共享存储模块中,其中参数数据包括定制访问规则和配置数据(如截获协议、截获关键字等);如通过内容过滤系统的配置界面模块设置参数数据:截获协议为“http://www.baidu.com”,截获关键字为敏感信息或不良信息“××”。
步骤904,截获从微端口驱动层发向协议驱动层的打包数据。例如,在访问网站服务器(如百度网站服务器)接收到PC机请求之后,通过网卡将Web数据发送到微端口驱动器层。之后,微端口驱动器层将该Web数据内容转发到本发明的内容过滤系统;内容过滤系统的网络包截获模块获取微端口驱动器层发向协议驱动器层的所述Web数据。
步骤906,确定截获数据符合存储到共享存储模块中的访问规则。例如,内容过滤系统的分析模块对截获的数据进行分析,确定数据符合存储在共享存储模块中的访问规则(截获协议为“http://www.baidu.com”,截获关键字为敏感信息或不良信息“××”)。
步骤908,对截获数据进行内容过滤。例如,内容过滤系统中的修改模块删除或替换截获数据中的某个内容“××”属于共享存储模块中的截获关键字,并且通过协议驱动层而将最终数据发送到应用层浏览器以向用户呈现内容过滤之后的百度网页。
本发明提供的基于NDIS的内容过滤的方法的一个实施例中,通过内容过滤系统中的网络包截获模块获取从微端口驱动层发送来的数据,并对截获数据分析;如果截获数据中的某项内容符合共享存储模块中的截获关键字,且符合预先设定的访问规则;删除或替换截获数据中的相关内容,并且通过协议驱动层而将最终数据发送到应用层浏览器以呈现过滤之后的网页内容。
图10示出本发明基于NDIS的内容过滤的方法的一个实施例的流程图。其中步骤1002、步骤1004和步骤1008可以分别执行与图9所示的步骤902、步骤904和步骤908相同或相似的技术内容,为简洁起见,这里不再赘述其技术内容。
如图10所示,在步骤1004“截获从微端口驱动层发向协议驱动层的打包数据”之后,步骤1008“对截获数据进行内容过滤”之前,执行步骤1006判断“所截获的数据是否符合共享存储模块中的访问规则”。如果截获数据符合访问规则中预定截获协议下的需要重定向的网址(如判断截获协议是否为“http://www.baidu.com”且截获关键字为敏感信息或不良信息“××”),则执行步骤1008,执行内容过滤处理,并向用户呈现内容过滤后的百度网页;否则,执行步骤1010,即直接传输数据包以向用户呈现百度网页。
本发明提供的基于NDIS的内容过滤的方法,通过设置在协议驱动器层和微端口驱动器层中间的内容过滤系统,截获微端口驱动器层向协议驱动器层发送的数据包,对符合访问规则中预定截获协议下的需要删除或替换的“截获关键字”进行内容过滤处理;由此可见,本发明提供的内容过滤方法不需要经过应用层的层层叠加处理,降低了系统开销,提高了响应速度和内容过滤的效率,根据配置的参数数据执行内容过滤的可靠性更高。
图11示出本发明基于NDIS的内容过滤的系统的一个实施例的结构示意图。以对来自访问网址(百度网站)的内容进行过滤为例来进行描述。
如图11所示,基于NDIS内容过滤系统1100用于URL重定向。内容过滤系统1100包含第二配置界面模块1102、第二共享存储模块1104、第二网络包截获模块1106、第二分析模块1108和第二修改模块1110。
其中,第二配置界面模块1102用于通过对参数数据进行配置,并且将其存储到第二共享存储模块1104中。其中参数数据例如包括要截获协议、截获关键字、限定时间等等(例如,截获协议“Protocol=http://www.baidu.com”,截获关键字“WebKey=××”)。
第二共享存储模块1104,用于存储通过第二配置界面模块802配置的参数数据,其中参数数据包括定制的访问规则配置数据(例如截获协议“Protocol=http://www.baidu.com”,截获关键字“WebKey=××”)。
第二网络包截获模块1106,用于在访问网站服务器(如百度网站服务器)通过网卡将Web数据向PC发送的情况下,截获微端口驱动层发向协议驱动层的打包数据,该数据携带了要呈现的百度主页的内容。
第二分析模块1108,用于对第二网络包截获模块1106截获的数据进行分析,通过将截获的数据与第二共享存储模块1104中存储的参数数据和访问规则进行比较来判断访问网址(“http://www.baidu.com”)中是否携带之前存储到共享存储模块中的截获协议(例如截获关键字“WebKey=××”)。
第二修改模块1110,用于在截获数据中的访问网址属于共享存储模块中的截获协议的情况下,将截获数据中的截获关键字“WebKey=××”进行删除或替换过滤。此后,通过协议驱动层而将最终数据发送到应用层浏览器以呈现内容过滤之后的百度网页。
本发明提供的基于NDIS内容过滤的系统的一个实施例中,第二分析模块1108进一步包括数据缓存(如数据堆栈或数据队列),该数据缓存用于对数据进行缓存(保持),以保证网络接收包的速度,从而高效率地实现了对数据包的处理操作。
本发明提供的基于NDIS的重定向或内容过滤系统可以单独应用于URL重定向或者内容过滤,也可以组合起来用于重定向和内容过滤,图12示出基于NDIS的重定向和内容过滤的方法的一个具体实施例的流程图。例如将网易网站重定向成百度网站,并且显示内容过滤之后的百度网页。
如图12所示,基于NDIS的重定向和内容过滤的方法流程1200包括:步骤1202,对参数数据进行配置并将其存储到共享存储模块中。例如,在启用NDIS的重定向和内容过滤系统进行URL重定向前,先对参数数据进行配置,并且将其存储到共享存储模块中,其中参数数据包括定制的访问规则配置数据(如截获协议、截获关键字、重定向地址等),如通过重定向和内容过滤系统的配置界面模块设置参数数据:截获协议为“http://www.163.com”,重定向网址为“www.baidu.com”,截获关键字为敏感信息或不良信息“××”。
步骤1204,截获从协议驱动层发向微端口驱动层的打包数据。例如,用户通过使用浏览器等方式访问网易网站(如在导航栏输入www.163.com),协议驱动器层对用户所输入的访问网址进行打包并发送至重定向和内容过滤系统;重定向和内容过滤系统的网络包截获模块获取协议驱动器层发向微端口驱动器层的数据。
步骤1206判断“所截获的数据是否符合共享存储模块中的重定向访问规则”。例如,重定向和内容过滤系统的分析模块对截获的数据进行分析;如果截获数据符合访问规则中预定截获协议下的需要重定向的网址(如判断截获协议是否为“http://www.163.com”),则执行步骤1208,执行重定向处理,并向用户呈现百度网页;否则,执行步骤1210。
步骤1208,对截获数据进行URL重定向。例如,重定向和内容过滤系统中的修改模块将用户输入的网易网址(http://www.163.com)修改为共享存储模块中的重定向地址(http://www.baidu.com),然后向微端口驱动器层发送数据。此时,要访问的网站服务器已从网易服务器修改为百度服务器。此后,微端口驱动层通过NetCard(网卡)将访问网址(已修改为百度网址)发送到访问服务器。
步骤1210,截获从微端口驱动层发向协议驱动层的打包数据。例如,在访问网站服务器(如百度网站服务器)接收到PC机请求之后,通过网卡将Web数据发送到微端口驱动器层。之后,微端口驱动器层将该Web数据内容转发到本发明的重定向和内容过滤系统;重定向/内容过滤系统的网络包截获模块获取微端口驱动器层发向协议驱动器层的所述Web数据。
步骤1212,判断“所截获的数据是否符合共享存储模块中的内容过滤访问规则”。如果截获数据符合访问规则中预定截获协议下的需要重定向的网址(如判断截获协议是否为“http://www.baidu.com”且截获关键字为敏感信息或不良信息“××”),则执行步骤1214,执行内容过滤处理,并向用户呈现内容过滤后的百度网页;否则,执行步骤1216。
步骤1214,对截获数据进行内容过滤。例如,重定向和内容过滤系统中的修改模块删除或替换截获数据中的某个内容“××”属于共享存储模块中的截获关键字,并且通过协议驱动层而将最终数据发送到应用层浏览器以向用户呈现内容过滤之后的百度网页。
步骤1216,直接传输数据包以向用户呈现百度网页。
本发明提供的基于NDIS的重定向和内容过滤的方法的一个实施例中,通过设置在协议驱动器层和微端口驱动器层中间的重定向和内容过滤系统,截获协议驱动器层向微端口驱动器层下载的数据包,对符合访问规则中预定截获协议下的需要重定向的网址进行URL重定向处理;随后通过重定向和内容过滤系统中的网络包截获模块获取从微端口驱动层发送来的数据,并对截获数据分析;在截获数据中的某项内容符合共享存储模块中的截获关键字时,删除或替换截获数据中的相关内容,并且通过协议驱动层而将最终数据发送到应用层浏览器以呈现过滤之后的网页内容。由此可见,本发明提供的重定向和内容过滤方法不需要经过应用层的层层叠加处理,降低了系统开销,提高了响应速度和重定向的效率,根据配置的参数数据执行重定向和内容过滤可靠性更高。
参考前述本发明示例性的描述,本领域技术人员可以清楚的知晓:本发明能够通过截获协议驱动器层与微端口驱动器层之间传输数据包,对其中符合访问规则的数据信息进行URL重定向和/或内容过滤等处理,从而有效地监控和利用网络数据包信息,实现了各种高阶应用。Windows网络驱动程序接口规范(NDIS)提供了标准的开发接口以在网络层处理数据。本发明基于Windows网络驱动程序接口规范,因此应用层可以方便地对它进行调用来实现各种逻辑处理。本发明可以采用完全硬件的实施方式,也可以通过软件的方式来实施本发明,或者是将软件固化到硬件上的实施方式实施本发明;本发明在采用软件的方式实施时,其可以包括但不局限于固件、驻留软件、微码等具体方式。
本发明的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (10)
1.一种基于NDIS重定向的系统,其特征在于,所述系统(800)包括:
第一配置界面模块(802),用于配置参数数据,所述参数数据包括截获协议和重定向地址;
第一网络包截获模块(806),用于截获从协议驱动器层向微端口驱动器层发送的打包数据,所述打包数据携带了即将访问网站的地址;
第一分析模块(808),用于对所述第一网络包截获模块(802)截获的所述打包数据进行分析,判断所述打包数据中携带的所述访问网址是否符合所述截获协议;
第一修改模块(810),用于在所述打包数据中携带的所述访问网址符合所述截获协议时,将截获数据中的所述访问地址修改为所述参数数据中的所述重定向地址。
2.根据权利要求1所述的系统,其特征在于,所述系统(800)还包括:第一共享存储模块(804),用于存储通过所述第一配置界面模块(802)配置的所述参数数据,并向所述第一分析模块(808)和所述第一修改模块(810)提供访问接口。
3.根据权利要求1所述的系统,其特征在于,所述第一分析模块(808)进一步包括第一数据缓存,用于对所述第一网络包截获模块(806)截获的所述打包数据进行缓存,以便所述分析模块(808)高效分析所述截获数据。
4.一种基于NDIS内容过滤的系统,其特征在于,所述系统(1100)包括:
第二配置界面模块(1102),用于配置参数数据,所述参数数据包括截获关键字;
第二网络包截获模块(1106),用于截获从协议驱动器层向微端口驱动器层发送的打包数据,所述打包数据携带了要呈现的内容;
第二分析模块(1108),用于对所述第二网络包截获模块(1102)截获的所述打包数据进行分析,判断所述打包数据中携带的所述内容是否符合所述截获关键字;
第二修改模块(1110),用于在所述打包数据中携带的所述内容符合所述截获关键字时,删除或替换截获数据中的所述内容。
5.根据权利要求4所述的系统,其特征在于,所述系统(1100)还包括:第二共享存储模块(1104),用于存储通过所述第二配置界面模块(1102)配置的所述参数数据,并向所述第二分析模块(1108)和所述第二修改模块(1110)提供访问接口。
6.根据权利要求4所述的系统,其特征在于,所述第二分析模块(1108)进一步包括第二数据缓存,用于对所述第二网络包截获模块(1106)截获的所述打包数据进行缓存,以便所述第二分析模块(1108)高效分析所述截获数据。
7.一种基于NDIS重定向的方法,其特征在于,所述方法包括:
配置参数数据,所述参数数据包括截获协议和重定向地址;
截获从协议驱动器层向微端口驱动器层发送的打包数据,所述打包数据携带了即将访问网站的地址;
对截获的所述打包数据进行分析,判断所述打包数据中携带的所述访问网址是否符合所述截获协议;
在所述打包数据中携带的所述访问网址符合所述截获协议时,将截获数据中的所述访问地址修改为所述参数数据中的所述重定向地址。
8.根据权利要求7所述的方法,其特征在于,所述方法进一步包括:在分析截获的所述打包数据之后,判断所述打包数据中携带的数据是否符合存储到共享存储模块中的所述访问规则;
如果所述打包数据中携带的数据符合存储到共享存储模块中的所述访问规则,那么对截获的所述打包数据进行重定向处理;
否则,直接传输所述打包数据以向用户呈现数据内容。
9.根据权利要求7所述的方法,其特征在于,所述方法进一步包括:
将截获数据中的所述访问地址修改为所述参数数据中的所述重定向地址之后,截获从所述协议驱动器层向所述微端口驱动器层发送的打包数据,所述打包数据携带了要呈现的内容;
对截获的所述打包数据进行分析,判断所述打包数据中携带的所述内容是否符合所述截获关键字;以及
在所述打包数据中携带的所述内容符合所述截获关键字时,删除或替换截获数据中的所述内容。
10.一种基于NDIS内容过滤的方法,其特征在于,所述方法包括:
配置参数数据,所述参数数据包括截获关键字;
截获从协议驱动器层向微端口驱动器层发送的打包数据,所述打包数据携带了要呈现的内容;
对截获的所述打包数据进行分析,判断所述打包数据中携带的所述内容是否符合所述截获关键字;
在所述打包数据中携带的所述内容符合所述截获关键字时,删除或替换截获数据中的所述内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910211054.1A CN102420837B (zh) | 2009-11-10 | 2009-11-10 | 基于ndis的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910211054.1A CN102420837B (zh) | 2009-11-10 | 2009-11-10 | 基于ndis的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102420837A true CN102420837A (zh) | 2012-04-18 |
CN102420837B CN102420837B (zh) | 2014-07-09 |
Family
ID=45945072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910211054.1A Active CN102420837B (zh) | 2009-11-10 | 2009-11-10 | 基于ndis的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102420837B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739685A (zh) * | 2012-07-04 | 2012-10-17 | 网宿科技股份有限公司 | 应用层网络通信的过滤方法和装置 |
CN106209778A (zh) * | 2016-06-26 | 2016-12-07 | 厦门天锐科技股份有限公司 | 一种基于ndis过滤驱动的网络准入系统及方法 |
CN106713355A (zh) * | 2017-01-23 | 2017-05-24 | 绿网天下(福建)网络科技股份有限公司 | 一种基于pc端的网络过滤方法及客户端pc |
CN107645480A (zh) * | 2016-07-22 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 数据监控方法及系统、装置 |
CN107666465A (zh) * | 2016-07-28 | 2018-02-06 | 北京京东尚科信息技术有限公司 | 数据传输方法和装置 |
CN108366074A (zh) * | 2018-03-08 | 2018-08-03 | 北京明朝万达科技股份有限公司 | 一种网络数据包防劫持方法及装置 |
CN110266732A (zh) * | 2019-07-24 | 2019-09-20 | 北京众谊越泰科技有限公司 | 一种WFP+NDISFilter组合驱动实现网络底层过滤的方法 |
CN110532210A (zh) * | 2019-08-07 | 2019-12-03 | 北京数衍科技有限公司 | 安全获取操作系统任意输出设备数据的桥接方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163161B (zh) * | 2007-11-07 | 2012-02-29 | 福建星网锐捷网络有限公司 | 统一资源定位器地址过滤方法及中间传输设备 |
-
2009
- 2009-11-10 CN CN200910211054.1A patent/CN102420837B/zh active Active
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739685B (zh) * | 2012-07-04 | 2015-04-08 | 网宿科技股份有限公司 | 应用层网络通信的过滤方法和装置 |
CN102739685A (zh) * | 2012-07-04 | 2012-10-17 | 网宿科技股份有限公司 | 应用层网络通信的过滤方法和装置 |
CN106209778A (zh) * | 2016-06-26 | 2016-12-07 | 厦门天锐科技股份有限公司 | 一种基于ndis过滤驱动的网络准入系统及方法 |
CN106209778B (zh) * | 2016-06-26 | 2019-06-28 | 厦门天锐科技股份有限公司 | 一种基于ndis过滤驱动的网络准入系统及方法 |
CN107645480A (zh) * | 2016-07-22 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 数据监控方法及系统、装置 |
CN107645480B (zh) * | 2016-07-22 | 2021-04-30 | 阿里巴巴集团控股有限公司 | 数据监控方法及系统、装置 |
CN107666465A (zh) * | 2016-07-28 | 2018-02-06 | 北京京东尚科信息技术有限公司 | 数据传输方法和装置 |
CN107666465B (zh) * | 2016-07-28 | 2020-03-31 | 北京京东尚科信息技术有限公司 | 数据传输方法和装置 |
CN106713355A (zh) * | 2017-01-23 | 2017-05-24 | 绿网天下(福建)网络科技股份有限公司 | 一种基于pc端的网络过滤方法及客户端pc |
CN106713355B (zh) * | 2017-01-23 | 2020-02-21 | 绿网天下(福建)网络科技股份有限公司 | 一种基于pc端的网络过滤方法及客户端pc |
CN108366074B (zh) * | 2018-03-08 | 2021-02-05 | 北京明朝万达科技股份有限公司 | 一种网络数据包防劫持方法及装置 |
CN108366074A (zh) * | 2018-03-08 | 2018-08-03 | 北京明朝万达科技股份有限公司 | 一种网络数据包防劫持方法及装置 |
CN110266732A (zh) * | 2019-07-24 | 2019-09-20 | 北京众谊越泰科技有限公司 | 一种WFP+NDISFilter组合驱动实现网络底层过滤的方法 |
CN110266732B (zh) * | 2019-07-24 | 2020-05-08 | 北京众谊越泰科技有限公司 | 一种WFP+NDISFilter组合驱动实现网络底层过滤的方法 |
CN110532210A (zh) * | 2019-08-07 | 2019-12-03 | 北京数衍科技有限公司 | 安全获取操作系统任意输出设备数据的桥接方法 |
CN110532210B (zh) * | 2019-08-07 | 2021-10-22 | 北京数衍科技有限公司 | 安全获取操作系统任意输出设备数据的桥接方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102420837B (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102420837B (zh) | 基于ndis的方法及系统 | |
US10334016B2 (en) | System and method for context specific website optimization | |
CN105243159B (zh) | 一种基于可视化脚本编辑器的分布式网络爬虫系统 | |
US10313494B2 (en) | Methods and systems for identifying data sessions at a VPN gateway | |
EP2933955B1 (en) | Deep packet inspection method, device, and coprocessor | |
CN103634306B (zh) | 网络数据的安全检测方法和安全检测服务器 | |
CN101651707B (zh) | 一种网络用户行为日志自动获取方法 | |
US9674316B2 (en) | Methods and systems for identifying data sessions at a VPN gateway | |
US9294541B2 (en) | Method and system for correlation of session activities to a browser window in a client-server enviroment | |
CN103067417A (zh) | VPN中安全代理的Web服务映射方法及其系统 | |
CN107809383A (zh) | 一种基于mvc的路径映射方法及装置 | |
CN104320378B (zh) | 拦截网页数据的方法及系统 | |
US10893006B2 (en) | System and method for implementing virtual platform media access control (MAC) address-based layer 3 network switching | |
CN106063229A (zh) | 用于转发数据的方法和系统 | |
CN104539605B (zh) | 网站xss漏洞检测方法和设备 | |
CN106453216A (zh) | 恶意网站拦截方法、装置及客户端 | |
CN109600385A (zh) | 一种访问控制方法及装置 | |
CN107944055A (zh) | 一种解决Web证书认证的爬虫方法 | |
CN102761450A (zh) | 一种网站分析系统及方法和装置 | |
CN108566358A (zh) | 一种基于iPhone手机下的iOS系统网络通信拦截方法及系统 | |
CN102239680B (zh) | Web应用托管方法及装置 | |
CN104572710B (zh) | 网页信息的处理方法及装置 | |
CN102868909A (zh) | Mp4在线视频缓存方法及装置 | |
CN103428044B (zh) | 一种数据包监听方法、装置和系统 | |
CN102355504A (zh) | Flv在线视频缓存方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |