一种web认证下的用户访问网络的方法和系统与流程

文档序号:11878970阅读:323来源:国知局
一种web认证下的用户访问网络的方法和系统与流程

本发明涉及通信技术领域,尤其涉及一种web认证下的用户访问网络的方法和系统。



背景技术:

在现有技术中对于用户访问网络时,访问数据包的截获以及解析主要基于传输驱动程序接口TDI(Trandport Driver Interface)建立过滤驱动程序。TDI是指Windows系统中所使用的各种运输层协议与应用层的接发数据包软件之间的接口层。工作在传输层的过滤驱动程序可以通过创建新的设备对象,直接关联到已有的网络层驱动程序之上,这时应用程序或者其它驱动程序可以通过使用这个设备对象,首先映射到传输层中自定义的过滤驱动中,继而由该驱动传递给原本来的设备对象。

在开发TDI过滤驱动时,可以用IoAttachDeviceToDeviceStack或IoAttachDevice函数将自己所开发的驱动直接挂载在TCP/IP协议驱动程序的上面。当Windows系统中的应用程序要同底层驱动进行通信,需要调用通信相关的API函数,系统会根据所调用的不同的API函数产生各自的IRP请求,因此TDI过滤驱动程序可以通过截获IRP请求,继而通过对IRP的处理从而实现数据包的拦截与分析过滤的功能。这种方法优点是可以得到到与驱动程序进行通信的应用程序进程的具体信息。缺点是传输层过滤驱动位于TCP/IP协议之上,所以无法截获那些能够通过TCP/IP直接进行处理的网络封包,而且必须重新启动Windows操作性,自定义的传输层过滤驱动才能生效。



技术实现要素:

本发明的实施例提供了一种web认证下的用户访问网络的方法和系统,本发明提供了如下方案:

基于网络驱动程序接口规范NDIS写入驱动程序,所述驱动程序用于:

捕获用户请求web认证的网络数据包;

解析所述网络数据包,获取所述用户的源IP地址;

判断所述用户的源IP地址是否在放行的白名单中;

若在,则在web认证有效时间到期后仍然放行所述用户访问,

若不在,则在web认证有效时间到期后拒绝所述用户访问。

根据本发明的上述方法,所述驱动程序用于:

对通过web认证的用户,在web认证有效时间内允许所述用户访问网络。

根据本发明的上述方法,所述驱动程序在用于捕获用户请求web认证的网络数据包之前,还用于:

下载并加载最新版本的放行白名单数据包,并解析生成IP地址集合的放行白名单。

根据本发明的上述方法,所述驱动程序在下载并加载最新版本的放行白名单数据包之前,还用于:

将更新的最新版本的放行白名单上传至服务器。

根据本发明的上述方法,所述驱动程序还用于:

对于不在所述放行白名单中的IP地址,生成审计信息并上传至服务器。

根据本发明的另一方面,还提供一种web认证下的用户访问网络的系统,包括:驱动模块,其运行基于网络驱动程序接口规范NDIS写入的驱动程序,所述驱动模块包括:

捕获组件:其用于捕获用户请求web认证的网络数据包;

解析组件:其用于解析所述网络数据包,获取所述用户的源IP地址;

判断组件:其用于判断所述用户的源IP地址是否在放行的白名单中;

执行组件:其用于当所述数据包中的源IP地址在放行的白名单中,则在web认证有效时间到期后仍然放行所述用户访问,

当所述数据包中的源IP地址不在放行的白名单中,则在web认证有效时间到期后拒绝所述用户访问。

根据本发明的另一方面,所述驱动模块,还包括认证组件,其用于:

对通过web认证的用户,在web认证有效时间内允许所述用户访问网络。

根据本发明的另一方面,所述驱动模块,还包括下载组件,其用于:在用于捕获用户请求web认证的网络数据包之前,下载并加载最新版本的放行白名单数据包,并解析生成IP地址集合的放行白名单。

根据本发明的另一方面,所述驱动模块,还包括上传组件,其用于在下载并加载最新版本的放行白名单数据包之前,将更新的最新版本的放行白名单上传至服务器。

根据本发明的另一方面,所述上传组件还用于:对于不在所述放行白名单中的IP地址,生成审计信息并上传至服务器。

由上述本发明的实施例提供的技术方案可以看出,本发明实施例基于网络驱动程序接口规范NDIS写入驱动程序,所述驱动程序用于:捕获用户请求web认证的网络数据包;解析所述网络数据包,获取所述用户的源IP地址;判断所述用户的源IP地址是否在放行的白名单中;若在,则在web认证有效时间到期后仍然放行所述用户访问,若不在,则在web认证有效时间到期后拒绝所述用户访问。能够拦截较为底层的数据包,数据包的拦截率比较高,能够拦截几乎所有的数据包,因此具有较高的安全系数。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一提供的一种web认证下的用户访问网络的方法的处理流程图;

图2为发明实施例二提供的一种web认证下的用户访问网络的系统的系统模块图。

具体实施方式

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

实施例一

该实施例提供了一种web认证下的用户访问网络的方法的处理流程如图1所示,其基于网络驱动程序接口规范NDIS写入驱动程序,具体包括如下步骤:

步骤11、捕获用户请求web认证的网络数据包;

本实施例中采用如下语句实现网络数据包捕获,具体地,

string strUrl=NCSI_TEXT_URL,strResponse="";

httpclient->Get(strUrl,strResponse);

步骤12、解析所述网络数据包,获取所述用户的源IP地址;

CURLcode res;

CURL*curl=curl_easy_init();

if(NULL==curl)

{

return CURLE_FAILED_INIT;

}

curl_easy_setopt(curl,CURLOPT_URL,strUrl.c_str());

curl_easy_setopt(curl,CURLOPT_CONNECTTIMEOUT,3);

curl_easy_setopt(curl,CURLOPT_TIMEOUT,3);

res=curl_easy_perform(curl);

char*redirect_url={0};

curl_easy_setopt(curl,CURLOPT_FOLLOWLOCATION,1);//设置获取用户的源IP地址;

其中,CURLOPT_FOLLOWLOCATION,设置WEB认证的重定位URL;1设置这个选项为一个非零值(象“Location:“)的头,把它当做HTTP头的一部分发送

res=curl_easy_getinfo(curl,CURLINFO_REDIRECT_URL,&redirect_url);

//获取用户的源IP地址

strLocation=redirect_url;

curl_easy_cleanup(curl);

return res;

步骤13、判断所述用户的源IP地址是否在放行的白名单中;

步骤14、若在,则在web认证有效时间到期后仍然放行所述用户访问,

若不在,则在web认证有效时间到期后拒绝所述用户访问。

所述驱动程序用于:

对通过web认证的用户,在web认证有效时间内允许所述用户访问网络。

所述驱动程序在用于捕获用户请求web认证的网络数据包之前,还用于:

下载并加载最新版本的放行白名单数据包,并解析生成IP地址集合的放行白名单。

所述驱动程序在下载并加载最新版本的放行白名单数据包之前,还用于:

将更新的最新版本的放行白名单上传至服务器。

所述驱动程序还用于:

对于不在所述放行白名单中的IP地址,生成审计信息并上传至服务器。

实施例二

该实施例提供了一种web认证下的用户访问网络的系统,其具体实现结构如图2所示,包括:驱动模块20,其运行基于网络驱动程序接口规范NDIS写入的驱动程序,所述驱动模块包括:

捕获组件23:其用于捕获用户请求web认证的网络数据包;

解析组件24:其用于解析所述网络数据包,获取所述用户的源IP地址;

判断组件25:其用于判断所述用户的源IP地址是否在放行的白名单中;

执行组件26:其用于当所述数据包中的源IP地址在放行的白名单中,则在web认证有效时间到期后仍然放行所述用户访问,

当所述数据包中的源IP地址不在放行的白名单中,则在web认证有效时间到期后拒绝所述用户访问。

本实施例的一种web认证下的用户访问网络的系统,所述驱动模块20,还包括认证组件21,其用于:

对通过web认证的用户,在web认证有效时间内允许所述用户访问网络。

本实施例的一种web认证下的用户访问网络的系统,所述驱动模块20,还包括下载组件22,其用于:在用于捕获用户请求web认证的网络数据包之前,下载并加载最新版本的放行白名单数据包,并解析生成IP地址集合的放行白名单。

本实施例的一种web认证下的用户访问网络的系统,所述驱动模块20,还包括上传组件27,其用于在下载并加载最新版本的放行白名单数据包之前,将更新的最新版本的放行白名单上传至服务器。

本实施例的一种web认证下的用户访问网络的系统,所述上传组件27还用于:对于不在所述放行白名单中的IP地址,生成审计信息并上传至服务器。

用本发明实施例的系统进行web认证下的用户访问网络的具体过程与前述方法实施例类似,此处不再赘述。

综上所述,本发明实施例通过基于网络驱动程序接口规范NDIS写入驱动程序,所述驱动程序用于:捕获用户请求web认证的网络数据包;解析所述网络数据包,获取所述用户的源IP地址;判断所述用户的源IP地址是否在放行的白名单中;若在,则在web认证有效时间到期后仍然放行所述用户访问,若不在,则在web认证有效时间到期后拒绝所述用户访问。能够拦截较为底层的数据包,数据包的拦截率比较高,能够拦截几乎所有的数据包,因此具有较高的安全系数。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1