控制同一IP地址的多个主机访问网络的方法及系统
技术领域
本发明涉及网络技术,尤其涉及一种控制同一因特网协议(InternetProtocol,IP)地址的多个主机访问网络的方法及系统。
背景技术
随着网络技术的发展与普及,家庭上网已成为一种大众上网方式。而由于网络内容非常丰富,且五花八门,有些网站提供的是不适宜未成年人的内容,因此,当家庭里有未成年人上网时,需要对未成年人的网络访问权限加以限制,以避免未成年人访问不适宜的网站。
基于网络的家长控制系统(Parent Control System)就是用于帮助家长监控孩子上网,避免孩子被互联网上的不良信息(如黄、赌、毒)所毒害的一种技术方案。
基于网络的家长控制系统部署在运营商网络中,通过对家庭上网的网络流量进行检测,阻止孩子对不良信息的访问。而且,家长希望在孩子的上网被限制(例如,不允许孩子玩网络游戏)的同时,家长的上网不被限制(例如,家长可以玩网络游戏)。
为了实现对孩子上网进行限制而家长上网不受限制,目前有以下方案:
一种方案是采用基于时间的控制策略,将1天24小时划分为家长上网时间段(例如0:00~19:00,21:00~24:00)和孩子上网时间段(例如19:00~21:00)。孩子上网时间段执行限制策略,家长上网时间段不执行限制策略。
该方案要求家长、孩子不能同时上网。如果家长、孩子同时上网时,不能实现对孩子上网进行限制而家长上网不受限制。
另一种方案是要求家庭的调制解调器(Modem)能支持多账号同时拨入,这样,家长、孩子使用不同上网账号时,就可以利用上网账号区分家长和孩子的身份。孩子账号上网执行限制策略,家长账号上网不受限制。但是,现在一些家庭的Modern设备,无法支持多账号同时拨入。
发明内容
本发明实施例提供一种控制同一IP地址的多个主机访问网络的方法及系统,用于实现同一IP地址下的多个主机同时访问网络时,限制其中某一或某些主机上网,其余主机上网不受限制,且对Modem没有特殊要求。
本发明实施例的第一个方面是提供一种控制同一因特网协议IP地址的多个主机访问网络的方法,包括:
将同一IP地址的多个主机的认证信息与所述多个主机发出的报文的特征信息相关联,得到所述多个主机的认证信息与报文特征信息的关联关系;
检测主机访问网络的报文;
当检测到主机访问受限网站时,根据访问所述受限网站的请求报文的特征信息及所述关联关系,确定是否放行对所述受限网站的访问。
本发明实施例的第二个方面是提供一种用于控制同一因特网协议IP地址的多个主机访问网络的方法,包括:
接收网络访问控制系统重定向的用户请求,所述用户请求为同一IP地址的多个主机中的主机首次访问受限网站的请求;
向首次请求访问受限网站的主机发送认证页面;
接收所述首次请求访问受限网站的主机提交的认证信息,并进行认证;
认证通过后,向所述首次请求访问受限网站的主机发送报文,所述报文携带有所述首次请求访问所述受限网站的主机的认证信息,用于向所述首次请求访问所述受限网站的主机的浏览器的临时文件中写入认证信息,以使得所述网络访问控制系统从所述报文中获取所述认证信息,并与所述首次请求访问所述受限网站的主机发出的报文的特征信息相关联,得到所述多个主机的认证信息与报文特征信息的关联关系,以根据所述关联关系控制所述多个主机访问网络。
本发明实施例的第三个方面是提供一种网络访问控制系统,包括:
关联单元,用于将同一IP地址的多个主机的认证信息与所述多个主机发出的报文的特征信息相关联,得到所述多个主机的认证信息与报文特征信息的关联关系;
检测单元,用于检测主机访问网络的报文;
管理单元,用于当所述检测单元检测到主机访问受限网站时,根据访问所述受限网站的请求报文的特征信息及所述关联单元建立的关联关系,确定是否放行对所述受限网站的访问。
本发明实施例的第四个方面是提供一种认证系统,包括:
请求接收单元,用于接收网络访问控制系统重定向的用户请求,所述用户请求为同一IP地址的多个主机中的主机首次访问受限网站的请求;
认证发送单元,用于向首次请求访问受限网站的主机发送认证页面;
认证单元,用于接收所述首次请求访问受限网站的主机提交的认证信息,并进行认证;
报文发送单元,用于在所述认证单元认证通过后,向所述首次请求访问受限网站的主机发送报文,所述报文携带有所述首次请求访问所述受限网站的主机的认证信息,用于向所述首次请求访问所述受限网站的主机的浏览器的临时文件中写入认证信息,以使得所述网络访问控制系统从所述报文中获取所述认证信息,并与所述首次请求访问所述受限网站的主机发出的报文的特征信息相关联,得到所述多个主机的认证信息与报文特征信息的关联关系,以根据所述关联关系控制所述多个主机访问网络。
本发明实施例提供的控制同一IP地址的多个主机访问网络的方法及系统,通过将同一IP地址的各主机的认证信息与所述各主机发出的报文中的特征信息相关联,并根据访问受限网站的访问请求报文的特征信息及建立的关联关系,确定是否放行对该受限网站的访问,实现了同一时间段对共用同一IP地址的多个主机访问网络的控制。
附图说明
图1A为本发明实施例提供的一种控制同一IP地址的多个主机访问网络的方法的流程图;
图1B为本发明实施例提供的控制同一IP地址的多个主机访问网络的方法中IP报文头部格式示意图;
图2为本发明实施例提供的控制同一IP地址的多个主机访问网络的方法的一种网络示意图;
图3为本发明实施例提供的一种用于控制同一IP地址的多个主机访问网络的方法的流程图;
图4为本发明实施例一提供的控制同一IP地址的多个主机访问网络的方法的流程图;
图5为本发明实施例二提供的控制同一IP地址的多个主机访问网络的方法的流程图;
图6为本发明实施例提供的一种网络访问控制系统的结构示意图;
图7为本发明实施例提供的一种认证系统的结构示意图。
具体实施方式
图1A为本发明实施例提供的一种控制同一IP地址的多个主机访问网络的方法的流程图。本实施例所示的方法可为基于网络的家长控制系统的处理流程,如图1A所示,该流程包括:
步骤11、将同一IP地址的多个主机的认证信息与所述多个主机发出的报文的特征信息相关联,得到所述多个主机的认证信息与报文特征信息的关联关系。
例如,主机A、主机B等共用同一个IP地址,那么可以将主机A的认证信息与主机A发出的报文的特征信息相关联,将主机B的认证信息与主机B发出的报文的特征信息相关联,从而根据报文获知,哪个报文是哪个主机发出的。
其中,认证信息可为用户账号即用户名、标识(Identity,ID)号等。报文的特征信息可如图1B所示,是IP报文头部中的标识(Identification)字段中的值即ID序列。
在主流操作系统中,这个Identification字段是一个递增字段,但是初始值不一样。例如主机PC1发出的IP报文的Identification字段序列是1000,1001,10002,…;主机PC2发出的IP报文的Identification字段序列是20001,20002,20003…。这样,两个Identification序列就对应了两个主机。类似地,当有更多的主机发出报文时,也就有更多的Identification序列来对应。
报文的特征信息还可以是TCP报文的时间戳序列。时间戳序列是TCP报文的可选头部中的字段,原理与IP报文的ID序列类似。这里不再赘述。
这样,将同一IP地址的多个主机的认证信息与所述多个主机发出的报文中的特征信息相关联,可以是将同一IP地址的多个主机的用户账号与所述多个主机发出的IP报文中的ID序列相关联,还可以是将同一IP地址的多个主机的用户账号与所述多个主机发出的TCP报文中的时间戳序列相关联,等等,只要能将主机与用户账号关联起来即可。
当本步骤11由基于网络的家长控制系统来执行时,基于网络的家长控制系统对来自一个家庭的多个主机(属于同一个IP地址的多个主机)访问网络的报文,当检测到其中一个主机访问受限网站时,拦截请求登录该受限网站的用户请求;将该用户请求重定向到门户认证网站(Portal),使用户通过主机访问门户认证页面,并提交用户名、密码等认证信息;Portal在对该主机提交的认证信息进行认证,认证通过后,向该主机发送报文,该报文中携带有用户名,用于将用户名写入到该主机的浏览器的临时文件Cookie中。这样,基于网络的家长控制系统可以通过检测Portal向主机发送的报文,来获得该主机的用户名,从而将主机的认证信息与该主机发出的报文的特征信息绑定。采用类似方法,可以对该家庭中或者说同一IP地址的所有主机的用户名与发出的报文的特征信息绑定。当该同一IP地址的多个主机中的某一主机再次发出报文时,基于网络的家庭控制系统便可获知来自哪个主机,也可以说能够获知该报文来自家长主机还是孩子主机。
由于基于网络的家长控制系统对于不同的用户名有不同的权限设置,因此,通过绑定认证信息及报文的特征信息,便可根据主机访问网络的报文获知,该主机的权限,从而确定是否放行主机对受限网站的访问。这样,即使同一个IP地址的多个主机同时访问网络,也能够通过检测报文控制不同主机的网络访问权限。
步骤12、检测主机访问网络的报文。
例如,基于网络的家长控制系统检测同一IP地址的多个主机访问网络的报文。
步骤13、当检测到主机访问受限网站时,根据访问该受限网站的请求报文的特征信息及上述关联关系,确定是否放行对该受限网站的访问。
例如,基于网络的家长控制系统检测到某一主机访问受限网站时,根据该主机发出的访问请求报文的特征信息及步骤11中建立的关联关系,找到该主机的认证信息,根据认证信息便可获知该主机的访问权限,从而确定是否放行该主机访问受限网站。具体地,如果认证信息为小孩或者未成年人的用户名,那么是不被允许访问受限网站的;如果认证信息为家长的用户名,则可以访问受限网站。
上述实施例通过将同一IP地址的各主机的认证信息与所述各主机发出的报文中的特征信息相关联,并根据访问受限网站的访问请求报文的特征信息及建立的关联关系,确定是否放行对该受限网站的访问,实现了同一时间段对共用同一IP地址的多个主机访问网络的控制。
进一步地,如图2所示,本发明实施例通过引入一个Portal,实现用户身份的认证,进而在基于网络的家长控制系统中建立主机认证信息与报文的特征信息的关联关系,即建立主机与用户身份的关联关系,从而根据报文便可获知访问网络的主机用户身份,进而对网络访问进行控制。
图3为本发明实施例提供的一种用于控制同一IP地址的多个主机访问网络的方法的流程图。本实施例所示的方法为Portal侧的操作流程,如图3所示,该流程包括:
步骤31、接收网络访问控制系统重定向的用户请求,该用户请求为同一IP地址的多个主机中的主机首次访问受限网站的请求。其中,网络访问控制系统可为上述基于网络的家长控制系统。
步骤32、向首次请求访问受限网站的主机发送认证页面。
步骤33、接收上述首次请求访问受限网站的主机提交的认证信息,并进行认证。
其中,认证信息可为用户名、密码等。
步骤34、认证通过后,向上述首次请求访问受限网站的主机发送报文,该报文携带有该首次请求访问受限网站的主机的认证信息,用于向该首次请求访问所述受限网站的主机的浏览器的临时文件中写入认证信息,以使得上述网络访问控制系统从该报文中获取认证信息如用户名或用户账号,并与该首次请求访问受限网站的主机发出的报文的特征信息相关联,得到多个主机的认证信息与报文特征信息的关联关系,以根据该关联关系控制上述多个主机访问网络。
本实施例所示的方法,通过在认证成功后向主机发送携带认证信息如用户账号的报文,使得网络访问控制系统如基于网络的家长控制系统能够通过检测获得该报文,从中得到主机的认证信息,进而与主机的报文特征信息绑定,实现对报文的来源主机的识别,根据相应的权限设置控制其访问网络。
对于基于网络的家长控制系统来说,假设家庭拨号上网的方式不变,仍然使用原来的宽带账号(假设已经默认成为孩子账号)拨号上网,并受到基于网络的家长控制系统控制策略的监控。此时,如果家长和孩子同时共享上网,他们的上网流量的源IP地址是相同的,即家长和孩子用同一个IP地址上网。如果采用上述实施例提供的方法,当家长访问受限制的网站时,通过同一个IP地址下的报文,基于网络的家长控制系统便可区分出孩子的报文和家长的报文,从而控制孩子访问的网络,对家长的报文则不进行限制。
下面通过实施例一、实施例二对控制同一IP地址的多个主机访问网络的方法做进一步详细说明。
实施例一
参见图4,本实施例中,通过IP报文的ID序列确定是否放行对受限网站的访问,具体实现流程如下:
步骤41、首先,家庭使用原来的宽带账号拨号入网后,家长和孩子都通过主机开始上网,访问不受限的网站。
步骤42、家长控制系统检测家庭上网的IP报文,利用文献《A Techniquefor Counting NATted Hosts》中所述方法,检测IP报文的ID序列,识别该IP下的主机数量。
本实施例中,同一IP地址下的主机共有两台,一台家长PC,一台孩子PC。家长控制系统建立IP报文的ID序列与主机(PC1,PC2,…,PCn)的映射。例如将ID序列1000x映射到家长PC,将ID序列2000x映射到孩子PC。此时,家长控制系统还不知道那一台主机是家长的或孩子的。
步骤43、当家长访问受限网站时,家长控制系统检测到访问网站受限,拦截用户请求,并重定向用户请求到Portal认证页面。
步骤44、家长访问Portal认证页面,Portal返回认证页面。
步骤45、家长在Portal认证页面,输入用户名、密码并提交。
步骤46、Portal验证用户名、密码,如果认证失败,则要求用户重新认证。如果认证成功,Portal向用户浏览器的Cookie中写入用户名(这里是家长账号),并重定向用户请求到原来访问的受限网站。
步骤47、家长控制系统检测Portal向用户浏览器的Cookie写用户名的报文,提取Cookie中的用户名(这里是家长账号),并将该用户账号与其主机IP报文的ID序列绑定,即确定该ID序列对应的主机的用户身份即家长。
步骤48、家长再次访问原来的受限网站。
步骤49、家长控制系统检测到访问网站受限,开始检测该IP报文的ID序列,发现属于家长账号的主机的ID序列,于是解除限制,放行该请求。该请求成功到达受限网站。
步骤410、受限网站向家长返回网站页面。
孩子用户账号与主机报文的ID序列绑定过程与上述步骤43-步骤46类似,不同的是,各步骤中与家长控制系统交互的是孩子主机,且提交的认证信息也是孩子的。并且,步骤46中,当Portal向用户浏览器的Cookie中写入用户名是孩子账号时,Portal不会将用户请求重定向到受限网站,而是进行限制。
孩子主机通过账号再次访问受限网站时,家长控制系统检测到访问的IP报文的ID序列与孩子用户账号相关联后,对其发出的请求报文进行拦截,拒绝其访问受限网站。
实施例二
参见图5,本实施例中,通过TCP报文时间戳序列确定是否放行对受限网站的访问,即将实施例一中的检测IP报文的ID序列的方法,替换为检测TCP报文时间戳序列的方法,具体实现流程如下:
步骤51、首先,家庭使用原来的宽带账号拨号入网后,家长和孩子都通过主机开始上网,访问不受限的网站。
步骤52、家长控制系统检测家庭上网的TCP报文,利用文献《A Techniquefor Counting NATted Hosts》中所述方法,检测TCP报文的时间戳序列,识别该IP下的主机数量。
本实施例中,同一IP地址下的主机共有两台,一台家长PC,一台孩子PC。家长控制系统建立TCP报文的时间戳序列与主机(PC1,PC2,…,PCn)的映射。此时,家长控制系统还不知道那一台主机是家长的或孩子的。
步骤53、当家长访问受限网站时,家长控制系统检测到访问网站受限,拦截用户请求,并重定向用户请求到Portal认证页面。
步骤54、家长访问Portal认证页面,Portal返回认证页面。
步骤55、家长在Portal认证页面,输入用户名、密码并提交。
步骤56、Portal验证用户名、密码,如果认证失败,则要求用户重新认证。如果认证成功,Portal向用户浏览器的Cookie中写入用户名(这里是家长账号),并重定向用户请求到原来访问的受限网站。
步骤57、家长控制系统检测Portal向用户浏览器的Cookie写用户名的报文,提取Cookie中的用户名(这里是家长账号),并将该用户账号与其主机TCP报文的时间戳序列绑定,即确定该时间戳序列对应的主机的用户身份即家长。
步骤58、家长再次访问原来的受限网站。
步骤59、家长控制系统检测到访问网站受限,开始检测该TCP报文的时间戳序列,发现属于家长账号的主机的时间戳序列,于是解除限制,放行该请求。该请求成功到达受限网站。
步骤510、受限网站向家长返回网站页面。
孩子用户账号与主机报文的时间戳序列绑定过程与上述步骤53-步骤56类似,不同的是,各步骤中与家长控制系统交互的是孩子主机,且提交的认证信息也是孩子的。并且,步骤56中,当Portal向用户浏览器的Cookie中写入用户名是孩子账号时,Portal不会将用户请求重定向到受限网站,而是进行限制。
孩子主机通过账号再次访问受限网站时,家长控制系统检测到访问的TCP报文的时间戳序列与孩子用户账号相关联后,对其发出的请求报文进行拦截,拒绝其访问受限网站。
上述实施例提供的方法可用于所有的调制解调器(Modem),能够区分家长、孩子不同账号,在家长、孩子同时上网时,能够实现对孩子上网进行限制而家长上网不受限制,而且对Modem没有特殊要求。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图6为本发明实施例提供的一种网络访问控制系统的结构示意图。本实施例所示的系统用于实现图1所示的方法,可为基于网络的家长控制系统。如图6所示,该网络访问控制系统包括:关联单元61、检测单元62和管理单元63。
关联单元61用于将同一IP地址的多个主机的认证信息与所述多个主机发出的报文的特征信息相关联,得到所述多个主机的认证信息与报文特征信息的关联关系。
检测单元62用于检测主机访问网络的报文。
管理单元63用于当所述检测单元62检测到主机访问受限网站时,根据访问所述受限网站的请求报文的特征信息及所述关联单元61建立的关联关系,确定是否放行对所述受限网站的访问。
可选地,所述关联单元62包括:拦截子单元、重定向子单元、检测子单元及绑定子单元。
拦截子单元用于当检测到所述多个主机中的主机首次访问受限网站时,拦截首次请求访问所述受限网站的用户请求。
重定向子单元用于将所述用户请求重定向到门户认证网站;
检测子单元用于检测所述门户认证网站向首次请求访问所述受限网站的主机发送的第一报文,所述第一报文携带有所述首次请求访问所述受限网站的主机的认证信息,用于向所述首次请求访问所述受限网站的主机的浏览器的临时文件中写入认证信息;
绑定子单元用于从所述第一报文中获取所述首次请求访问所述受限网站的主机的认证信息,并将获取的认证信息与所述首次请求访问所述受限网站的主机发出的报文的特征信息绑定。
可选地,所述关联单元61具体用于将同一IP地址的多个主机的用户账号与所述多个主机发出的IP报文的ID序列相关联。
或者,所述关联单元61可具体用于将同一IP地址的多个主机的用户账号与所述多个主机发出的TCP报文的时间戳序列相关联。
上述实施例提供的网络访问控制系统,通过关联单元将同一IP地址的各主机的认证信息与所述各主机发出的报文中的特征信息相关联,并通过管理单元根据访问受限网站的访问请求报文的特征信息及建立的关联关系,确定是否放行对该受限网站的访问,实现了同一时间段对共用同一IP地址的多个主机访问网络的控制。
图7为本发明实施例提供的一种认证系统的结构示意图。本实施例所示的系统用于实现图3所示的方法,可为Portal。如图7所示,该认证系统包括:请求接收单元71、认证发送单元72、认证单元73及报文发送单元74。
请求接收单元71用于接收网络访问控制系统重定向的用户请求,所述用户请求为同一IP地址的多个主机中的主机首次访问受限网站的请求。
认证发送单元72用于向首次请求访问受限网站的主机发送认证页面。
认证单元73用于接收所述首次请求访问受限网站的主机提交的认证信息,并进行认证。其中,认证信息可为用户账号、用户名、密码等。
报文发送单元74用于在所述认证单元73认证通过后,向所述首次请求访问受限网站的主机发送报文,所述报文携带有所述首次请求访问所述受限网站的主机的认证信息,用于向所述首次请求访问所述受限网站的主机的浏览器的临时文件中写入认证信息,以使得所述网络访问控制系统从所述报文中获取所述认证信息,并与所述首次请求访问所述受限网站的主机发出的报文的特征信息相关联,得到所述多个主机的认证信息与报文特征信息的关联关系,以根据所述关联关系控制所述多个主机访问网络。
上述实施例提供的网络访问控制系统,通过报文发送单元在认证成功后向主机发送携带认证信息如用户账号的报文,使得网络访问控制系统如基于网络的家长控制系统能够通过检测获得该报文,从中得到主机的认证信息,进而与主机的报文特征信息绑定,实现对报文的来源主机的识别,根据相应的权限设置控制其访问网络。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。