CN106664223A - 一种共享接入主机数目检测方法及检测装置 - Google Patents
一种共享接入主机数目检测方法及检测装置 Download PDFInfo
- Publication number
- CN106664223A CN106664223A CN201580031151.6A CN201580031151A CN106664223A CN 106664223 A CN106664223 A CN 106664223A CN 201580031151 A CN201580031151 A CN 201580031151A CN 106664223 A CN106664223 A CN 106664223A
- Authority
- CN
- China
- Prior art keywords
- message
- user terminal
- request
- file
- reply
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
Abstract
本发明实施例提供一种共享接入主机数目检测方法及检测装置,其中方法包括:截取共享接入网中的用户端发送的目标访问请求;根据目标访问请求向用户端返回携带属性参数的重定向报文,重定向报文用于指示用户端向虚拟互联网协议IP地址请求存储属性文件;当监听到用户端向虚拟IP地址请求存储属性文件时,与用户端建立传输控制协议TCP连接,并向用户端发送携带存储属性文件的回复报文,以使用户端根据回复报文中的存储属性文件编辑属性参数并反馈携带编辑后的属性参数的请求报文;根据请求报文中的编辑后的属性参数统计用户端的数量,以获得共享接入网中的主机数目。本发明实施例能够提高检测结果的准确性,降低对用户上网行为的依赖性。
Description
本发明涉及通信技术领域,尤其涉及一种共享接入主机数目检测方法及检测装置。
随着互联网的飞速发展,全球互联网协议(Internet Protocol,IP)地址资源匮乏的问题日益严峻,为解决IP匮乏的问题,互联网工程任务组提出一种网络地址转换(Network Address Translation,NAT)设备。NAT设备将连接该设备的多台主机组成一个共享接入网,当共享接入网内的多台主机需要与公网上的设备进行通信时,NAT设备将多台主机对应的私网IP地址和端口映射为同一台公网IP地址的不同端口,使共享接入网内的多台主机以同一公网IP地址接入互联网或公网上的设备,实现共享上网。
NAT设备极大地缓解了IP匮乏的问题,但是在外部看来似乎只有一台主机在进行上网,这样便给运营商的网络管理和利益带来极大的影响,因此如何准确获得连接NAT设备的活动主机的数量,即共享接入网中主机的数量,从而有效管理共享接入的用户成了运营商一大难题。
目前获取共享接入网中主机的数量的方法,主要通过采集网络中的数据包,提取数据包中的超文本传输协议(Hyper Text Transfer Protocol,HTTP)报文中的用户代理字段的值,并对比已记录的用户代理字段的值,从而根据对比结果确定共享接入网中的主机数目,该方法主要依靠数据包中的HTTP报文,使得检测结果的准确性需依赖数据包的内容,从而导致检测到的主机数目准确性较低。
发明内容
本发明实施例提供一种共享接入主机数目检测方法及检测装置,能够提高检测结果的准确性,降低对用户上网行为的依赖性。
本发明实施例第一方面提供一种共享接入主机数目检测方法,包括:
截取共享接入网中的用户端发送的目标访问请求,所述目标访问请求为携
带获取GET数据包的页面访问请求;
根据所述目标访问请求向所述用户端返回携带属性参数的重定向报文,所述重定向报文用于指示所述用户端向虚拟互联网协议IP地址请求存储属性文件;
当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,与所述用户端建立传输控制协议TCP连接,并向所述用户端发送携带所述存储属性文件的回复报文,以使所述用户端根据所述回复报文中的所述存储属性文件编辑所述属性参数并反馈携带编辑后的属性参数的请求报文;
根据所述请求报文中的所述编辑后的属性参数统计所述用户端的数量,以获得所述共享接入网中的主机数目。
在本发明实施例第一方面的第一种可能的实现方式中,在所述截取共享接入网中的用户端发送的目标访问请求的步骤之前,还包括:
监听共享接入网中的至少一个用户端发送的网页访问请求;
当监听到所述至少一个用户端中任一个用户端的网页访问请求时,判断所监听到的网页访问请求是否为携带GET数据包的页面访问请求;
当判断的结果为是时,将所述携带GET数据包的页面访问请求确定为目标访问请求。
结合本发明实施例第一方面或本发明实施例第一方面的第一种可能的实现方式,在本发明实施例第一方面的第二种可能的实现方式中,所述根据所述目标访问请求向所述用户端返回携带属性参数的重定向报文,包括:
根据所述目标访问请求的目的访问网站伪造访问网站,以生成携带属性参数的重定向报文;
将所述重定向报文发送至所述用户端。
结合本发明实施例第一方面的第一种可能或本发明实施例第一方面的第二种可能的实现方式,在本发明实施例第一方面的第三种可能的实现方式中,所述当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,与所述用户端建立TCP连接,并向所述用户端发送携带所述存储属性文件的回复报文,包括:
当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,根据
所述请求的握手报文伪造握手确认报文与所述用户端建立TCP连接,并记录最大报文段长度;
根据所述请求查找所述存储属性文件并将所述存储属性文件封装于回复报文中,以使所述回复报文携带所述存储属性文件,并将所述回复报文发送至所述用户端。
结合本发明实施例第一方面的第一种至第三种中的任一种可能的实现方式,在本发明实施例第一方面的第四种可能的实现方式中,所述存储属性文件包括脚本属性文件和动画属性文件,所述回复报文包括第一回复报文和第二回复报文;
所述根据所述请求查找所述存储属性文件并将所述存储属性文件封装于回复报文中,以使所述回复报文携带所述存储属性文件,包括:
当检测到所述用户端向所述虚拟IP地址请求所述脚本属性文件时,查找所述脚本属性文件并将所述脚本属性文件封装于第一回复报文中,以使所述第一回复报文携带所述脚本属性文件;
当检测到所述用户端向所述虚拟IP地址请求所述动画属性文件时,查找所述动画属性文件并将所述动画属性文件封装于第二回复报文中,以使所述第二回复报文携带所述动画属性文件。
结合本发明实施例第一方面的第四种可能的实现方式,在本发明实施例第一方面的第五种可能的实现方式中,所述将所述回复报文发送至所述用户端,包括:
分别判断所述第一回复报文和所述第二回复报文的报文长度是否大于预设的报文长度;
当所述第一回复报文和/或所述第二回复报文的报文长度大于所述预设的报文长度时,根据所述最大报文段长度对所述第一回复报文和/或所述第二回复报文进行分片,并对所述第二回复报文的最后一个分片设置结束标志;
将分片后的所述第一回复报文和所述第二回复报文分片发送至所述用户端,以使所述用户端在接收到携带有所述结束标志的分片报文时反馈确认报文和结束报文;
当接收到所述确认报文和所述结束报文时,向所述用户端反馈回复确认报
文,所述回复确认报文用于指示所述用户端关闭所述TCP连接。
结合本发明实施例第一方面的第一种至第五种中的任一种可能的实现方式,在本发明实施例第一方面的第七种可能的实现方式中,所述根据所述请求报文中的所述编辑后的属性参数统计所述用户端的数量,包括:
接收所述用户端发送的所述携带编辑后的属性参数的请求报文,所述请求报文用于请求空白文件;
获取所述请求报文中的所述编辑后的属性参数并统计所述编辑后的属性参数的个数;
将所述编辑后的属性参数的个数作为所述共享接入网中的所述用户端的数量。
本发明实施例第二方面提供一种检测装置,包括:
截取单元,用于截取共享接入网中的用户端发送的目标访问请求,所述目标访问请求为携带获取GET数据包的页面访问请求;
返回单元,用于根据所述目标访问请求向所述用户端返回携带属性参数的重定向报文,所述重定向报文用于指示所述用户端向虚拟互联网协议IP地址请求存储属性文件;
连接单元,用于当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,与所述用户端建立传输控制协议TCP连接,并向所述用户端发送携带所述存储属性文件的回复报文,以使所述用户端根据所述回复报文中的所述存储属性文件编辑所述属性参数并反馈携带编辑后的属性参数的请求报文;
统计单元,用于根据所述请求报文中的所述编辑后的属性参数统计所述用户端的数量,以获得所述共享接入网中的主机数目。
在本发明实施例第二方面的第一种可能的实现方式中,所述检测装置还包括:
监听单元,用于监听共享接入网中的至少一个用户端发送的网页访问请求;
请求判断单元,用于当监听到所述至少一个用户端中任一个用户端的网页访问请求时,判断所监听到的网页访问请求是否为携带获取数据包的页面访问请求;
确定单元,用于当判断的结果为是时,将所述携带获取数据包的页面访问请求确定为目标访问请求。
结合本发明实施例第二方面或本发明实施例第二方面的第一种可能的实现方式,在本发明实施例第二方面的第二种可能的实现方式中,所述返回单元包括:
生成单元,用于根据所述目标访问请求的目的访问网站伪造访问网站,以生成携带属性参数的重定向报文;
第一发送单元,用于将所述重定向报文发送至所述用户端。
结合本发明实施例第二方面的第一种可能或本发明实施例第二方面的第二种可能的实现方式,在本发明实施例第二方面的第三种可能的实现方式中,所述连接单元包括:
伪造单元,用于当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,根据所述请求的握手报文伪造握手确认报文与所述用户端建立TCP连接,并记录最大报文段长度;
查找单元,用于根据所述请求查找所述存储属性文件并将所述存储属性文件封装于回复报文中,以使所述回复报文携带所述存储属性文件;
第二发送单元,用于将所述回复报文发送至所述用户端。
结合本发明实施例第二方面的第一种至第三种中的任一种可能的实现方式,在本发明实施例第二方面的第四种可能的实现方式中所述存储属性文件包括脚本属性文件和动画属性文件,所述回复报文包括第一回复报文和第二回复报文;
所述查找单元包括:
第一查找单元,用于当检测到所述用户端向所述虚拟IP地址请求所述脚本属性文件时,查找所述脚本属性文件并将所述脚本属性文件封装于第一回复报文中,以使所述第一回复报文携带所述脚本属性文件;
第二查找单元,用于当检测到所述用户端向所述虚拟IP地址请求所述动画属性文件时,查找所述动画属性文件并将所述动画属性文件封装于第二回复报文中,以使所述第二回复报文携带所述动画属性文件。
结合本发明实施例第二方面的第四种可能的实现方式,在本发明实施例第
二方面的第五种可能的实现方式中,所述第二发送单元包括:
长度判断单元,用于分别判断所述第一回复报文和所述第二回复报文的报文长度是否大于预设的报文长度;
报文分片单元,用于当所述第一回复报文和/或所述第二回复报文的报文长度大于所述预设的报文长度时,根据所述最大报文段长度对所述第一回复报文和/或所述第二回复报文进行分片,并对所述第二回复报文的最后一个分片设置结束标志;
分片发送单元,用于将分片后的所述第一回复报文和所述第二回复报文分片发送至所述用户端,以使所述用户端在接收到携带有所述结束标志的分片报文时反馈确认报文和结束报文;
反馈单元,用于当接收到所述确认报文和所述结束报文时,向所述用户端反馈回复确认报文,所述回复确认报文用于指示所述用户端关闭所述TCP连接。
结合本发明实施例第二方面的第一种至第五种中的任一种可能的实现方式,在本发明实施例第二方面的第六种可能的实现方式中,所述统计单元包括:
接收单元,用于接收所述用户端发送的所述携带编辑后的属性参数的请求报文,所述请求报文用于请求空白文件;
参数统计单元,用于获取所述请求报文中的所述编辑后的属性参数并统计所述编辑后的属性参数的个数,将所述编辑后的属性参数的个数作为所述共享接入网中的所述用户端的数量。
在本发明实施例中,通过检测装置截取共享接入网中的用户端发送的目标访问请求,并根据目标访问请求向用户端返回携带属性参数的重定向报文,然后用户端根据重定向报文向虚拟互联网协议地址请求存储属性文件,当检测装置监听到用户端向虚拟IP地址请求存储属性文件时,与用户端建立传输控制协议连接,并向用户端发送携带存储属性文件的回复报文,然后用户端根据回复报文中的存储属性文件编辑属性参数并反馈携带编辑后的属性参数的请求报文,最后检测装置根据请求报文中的编辑后的属性参数统计共享接入网中的用户端的数量,实现对共享接入网中主机数目的检测,并提高检测结果的准确性,降低对用户上网行为的依赖性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种共享接入主机数目检测方法的流程示意图;
图2为图1所示实施例的具体实现方法的流程示意图;
图3为本发明实施例提供的一种检测装置的结构示意图;
图4为图3所示实施例提供的返回单元的结构示意图;
图5为图3所示实施例提供的连接单元的结构示意图;
图6为图5所示实施例提供的查找单元的结构示意图;
图7为图5所示实施例提供的第二发送单元的结构示意图;
图8为图3所示实施例提供的统计单元的结构示意图;
图9为本发明实施例提供的另一种检测装置的结构示意图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种共享接入主机数目检测方法及检测装置,可以应用于统计共享接入网中主机数目的场景,例如统计以一个公网IP地址接入互联网的NAT设备之后的主机数目、统计某个网吧内接入的主机数目等场景。在本发明实施例中,检测装置截取共享接入网中的用户端发送的目标访问请求,并根据所述目标访问请求向所述用户端返回携带属性参数的重定向报文,然后用户端根据重定向报文向虚拟IP地址请求存储属性文件,当所述检测装置监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,与所述用户端
建立传输控制协议连接,并向所述用户端发送携带所述存储属性文件的回复报文,然后所述用户端根据所述回复报文中的所述存储属性文件编辑所述属性参数文件并反馈携带编辑后的属性参数的请求报文,最后所述检测装置根据所述请求报文中的所述编辑后的属性参数统计所述用户端的数量,从而获得所述共享接入网中的主机数目。在大多数的情况中,共享接入网中的用户端与主机是一一对应的关系,因此本发明实施例通过统计共享接入网中的用户端的数量,便可得到共享接入网中的主机数目。本发明实施例能够提高检测结果的准确性,并在海量用户共享接入的场景下能够减少服务器的负担。本发明实施例的前提条件是所述检测装置内为服务器设置了一个虚拟IP地址,虚拟IP地址可以是无法访问的IP地址,但是必须能够保证用户端发起的传输控制协议(Transmission Control Protocol,TCP)连接的握手(Synchronous,SYN)报文,能够路由经过所述检测装置的监测链路。
本发明实施例中的共享接入网的用户端即为共享接入网中的主机,可以包括但不限于台式电脑、笔记本电脑等上网设备。
请参见图1,为本发明实施例提供的一种共享接入主机数目检测方法的流程示意图,该方法可包括步骤S101-步骤S104。
S101,截取共享接入网中的用户端发送的目标访问请求,所述目标访问请求为携带获取GET数据包的页面访问请求。
例如,在由NAT设备构成的共享接入网中,NAT设备之后的用户端,即以同一个公网IP地址接入互联网的主机,根据用户输入的网址向服务器发送网页访问请求(WEB访问请求)。大多数的WEB访问请求为页面访问请求,所述页面访问请求包括获取(GET)请求和传送(POST)请求。其中,GET请求是通过发送GET数据包向指定的资源请求获取数据,GET请求的数据会被缓存,也会被保存在浏览器的历史记录中。而POST请求是通过发送POST数据包向指定的资源提交要被处理的数据,POST请求不会被缓存,也不会被保存在浏览器的历史记录中。因此检测装置截取共享接入网中的用户端发送的携带GET数据包的页面访问请求,所述携带GET数据包的页面访问请求即为目标访问请求。
可选的,所述目标访问请求为满足多媒体程序播放器的本地存储对象(FLASH COOKIE)的编辑条件的访问请求。所述FLASH COOKIE与超文本传输协议的本地存储对象(HTTP COOKIE)相似,所述HTTP COOKIE为HTTP中用于在浏览器和服务器之间传输状态信息的机制,COOKIE是服务器保存在用户浏览器上的小文件,它可以包含有关用户的信息。FLASH COOKIE也就是记录用户在访问多媒体程序(FLASH)网页的时候保留的信息,鉴于FLASH技术的普遍性,几乎所有的网站都采用,因此本发明实施例对用户上网行为的依赖性较低。
需要说明的是,所述共享接入网中的用户端不止一个,所述目标访问请求也不止一个。所述检测装置实时监听所述共享接入网中的至少一个用户端发送的WEB访问请求,当监听到所述至少一个用户端中任一个用户端的WEB访问请求时,判断所监听到的WEB访问请求是否为携带GET数据包的页面访问请求。当判断的结果为是时,将所述携带GET数据包的页面访问请求确定为所述目标访问请求。当所述至少一个用户端中的多个用户端发送网页访问请求均为所述携带GET数据包的页面访问请求时,所述目标访问请求包括所述多个用户端发送的网页访问请求。
S102,根据所述目标访问请求向所述用户端返回携带属性参数的重定向报文,所述重定向报文用于指示所述用户端向虚拟互联网协议IP地址请求存储属性文件。
例如,所述检测装置根据所述目标访问请求向与所述目标访问请求对应的用户端返回携带属性参数的重定向报文,所述重定向报文用于指示所述用户端向虚拟IP地址请求存储属性文件。通常,所述目标访问请求携带目的访问网站,在现有服务器与用户端的交互过程中,服务器根据用户端的浏览器发送的网页访问请求从资源中读取所述目的访问网站相应的数据,并回送访问请求回应,浏览器从该回应中解析出数据,并在用户端的显示屏上显示相应的数据。在本发明实施例中,所述共享接入网中的用户端发送的目标访问请求被所述检测装置截获,使得所述目标访问请求暂时无法到达目的服务器,因此所述检测装置根据所述目标访问请求的目标访问网站伪造访问网站,以生成携带属性参数的重定向报文。所述重定向报文为暂时重定向302报文,将所述目标访问请
求临时转至伪造的访问网站,从而回应所述目标访问请求。所述检测装置将所述重定向报文发送至与所述目标访问请求相对应的用户端,当所述用户端接收到所述重定向报文时,向虚拟IP地址请求存储属性文件并读取所述重定向报文中的所述属性参数。
可选的,所述属性参数为时间戳值,即上次所述用户端访问服务器时服务器所记录的时间值,所述时间戳值会自动更新,记录最新的时间值。在本发明实施例中,所述属性参数由所述检测装置所记录并将所述属性参数封装于所述重定向报文中。
例如,当所述用户端收到所述属性参数时只能读取,不能写入其他信息,因此所述用户端需要特定工具才能对所述属性参数进行编辑。可选的,所述特定工具为存储属性文件,所述存储属性文件为编辑所述属性参数的必要中间文件,所述用户端只有获取到所述存储属性文件才能对所述属性参数进行编辑,因此所述用户端向所述虚拟IP地址请求存储属性文件。所述虚拟IP地址为服务器的虚拟IP地址,避免海量用户向服务器获取必要中间文件时对服务器造成的性能压力。所述检测装置内保存着至少一个目地访问网站所对应的存储属性文件,所述存储属性文件包括脚本属性文件和动画属性文件,所述脚本属性文件即为后缀名称为js的文件,所述动画属性文件即为后缀名称为swf的文件。
S103,当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,与所述用户端建立传输控制协议TCP连接,并向所述用户端发送携带所述存储属性文件的回复报文,以使所述用户端根据所述回复报文中的所述存储属性文件编辑所述属性参数并反馈携带编辑后的属性参数的请求报文。
例如,所述用户端在向所述虚拟IP地址发送的请求的过程中,首先向所述虚拟IP地址发送SYN报文,请求与所述检测装置建立TCP连接。由于所述虚拟IP地址的策略路由经过所述检测装置监测的网络链路,因此所述检测装置接收到所述SYN报文后,模拟服务器伪造握手确认(Synchronous+Acknowledgement,SYN+ACK)报文,回复所述用户端,从而成功建立所述用户端与所述虚拟IP地址之间的TCP连接,也即建立所述用户端与所述检测装置之间的TCP连接。在建立TCP连接的同时所述检测装置记录最大报文段长度(Maximum Segment Size,MSS),即为收发双方协商通信时每一个报文段
所能承载的最大数据长度。
建立TCP连接之后,所述检测装置根据所述请求在本检测装置内部查找与所述目标访问请求相对应的所述存储属性文件,并将所述存储属性文件封装于回复报文中,即封装于200OK中,使得所述回复报文携带所述存储属性文件。其中,200OK报文表示服务器已经成功的处理了用户端发送的请求。
所述检测装置将所述回复报文发送至所述用户端,所述用户端在接收到所述回复报文时,提取所述回复报文中的所述存储属性文件,并根据所述存储属性文件编辑所述属性参数。例如,用户端可根据如下方式编辑所述属性参数:所述用户端将自己的标识信息写入所述属性参数中,例如将所述用户端的名称、私网IP地址等标识信息写入所述属性参数中,以便所述检测装置获得更加全面的数据。所述请求报文用于请求空白文件,例如后缀名称为gif的文件,所述请求报文用于将所述编辑后的属性参数发送至所述检测装置。
S104,根据所述请求报文中的所述编辑后的属性参数统计所述用户端的数量,以获得所述共享接入网中的主机数目。
例如,所述检测装置接收所述用户端反馈的所述请求报文,并获取所述请求报文中的所述编辑后的属性参数,由于所述目标访问请求不止一个,因此所述请求报文也不止一个,每个请求报文都携带一个编辑后的属性参数,因此所述检测装置统计所述编辑后的属性参数的个数,通过统计所述属性参数的个数便可得到所述共享接入网中的所述用户端的数量。在大多数的情况中,共享接入网中的用户端与主机是一一对应的关系,因此本发明实施例通过统计共享接入网中的用户端的数量,便可得到共享接入网中的主机数目。进而,所述属性参数的个数即为所述共享接入网中的主机数目。由于所述编辑后的属性参数中包括所述用户端的标识信息,因此使得统计的结果更加全面、准确。
当所述检测装置获取到所述编辑后的属性参数之后释放对所述目标访问请求的拦截,所述用户端便可正常访问所述目标访问请求所对应的目标访问网站。
需要说明的是,本发明实施例提供的方法用于检测一个共享接入网中的主机数量,例如,检测某个学校或某个公司内以一个公网IP地址共享上网的主机数量。当运营商或者管理方想要统计某个小区或者某个城市内以多个公网IP
地址共享上网的主机数量的总和时,所述检测装置包括至少一个网络嗅探模块和一个主机数目统计模块。所述至少一个网络嗅探模块中的各个网络嗅探模块分别负责每个共享接入网中的存储属性文件的编辑和属性参数的采集,并将采集到的属性参数上报至所述主机数目统计模块。所述主机数目统计模块汇总所述各个网络嗅探模块上报的编辑后的属性参数并统计该小区内或该城市内的共享接入上网的主机数目。现有技术中,当海量的用户端去访问服务器获取所述存储属性文件时,服务器会受限于性能压力而出现异常,或者不得不被动减少系统的请求次数。若额外部署一个高性能的服务器会增加部署成本。本发明实施例通过检测装置内为服务器设置的虚拟IP地址,能够有效缓解海量用户端访问的压力,且不需要增加额外的部署成本,检测的用户端数量可以达到百万、千万级别,甚至更高。
在本发明实施例中,通过检测装置截取共享接入网中的用户端发送的目标访问请求,并根据目标访问请求向用户端返回携带属性参数的重定向报文,然后用户端根据重定向报文向虚拟IP地址请求存储属性文件,当检测装置监听到用户端向虚拟IP地址请求存储属性文件时,与用户端建立TCP连接,并向用户端发送携带存储属性文件的回复报文,然后用户端根据回复报文中的存储属性文件编辑属性参数并反馈携带编辑后的属性参数的请求报文,最后检测装置根据请求报文中的编辑后属性参数统计共享接入网中的用户端的数量,实现对共享接入网中主机数目的检测,并提高检测结果的准确性,降低对用户上网行为的依赖性。
请参见图2,为图1所示实施例的具体实现方法的流程示意图,该方法可包括步骤S201-步骤S212。
S201,监听共享接入网中的至少一个用户端发送的网页访问请求。
例如,所述检测装置实时监听共享接入网中的至少一个用户端发送的网页访问请求,所述网页访问请求可以是页面访问请求、数据访问请求等等。所述网页访问请求为根据用户在用户端所输入的网址向服务器发送的访问请求,所述网页访问请求用于访问外网网站。
S202,当监听到所述至少一个用户端中任一个用户端的网页访问请求时,
判断所监听到的网页访问请求是否为携带GET数据包的页面访问请求。
例如,当所述检测装置监听到所述至少一个用户端中任一个用户端的网页访问请求时,所述检测装置判断所监听到的网页访问请求是否为携带GET数据包的WEB访问请求。通常,大多数的WEB访问请求为页面访问请求,所述页面访问请求包括GET请求和POST请求。其中,GET请求是通过发送GET数据包向指定的资源请求获取数据,GET请求的数据会被缓存,也会被保存在浏览器的历史记录中。而POST请求是通过发送POST数据包向指定的资源提交要被处理的数据,POST请求不会被缓存,也不会被保存在浏览器的历史记录中。因此所述检测装置需判断所监听到的网页访问请求的类型,是否为携带获取数据包的页面访问请求。
S203,当判断的结果为是时,将所述携带GET数据包的页面访问请求确定为目标访问请求。
例如,当判断的结果为是时,将所述携带GET数据包的页面访问请求确定为目标访问请求。所述目标访问请求不止一个,将所有携带GET数据包的页面访问请求均作为所述目标访问请求。当所述至少一个用户端中的多个用户端发送网页访问请求均为所述携带GET数据包的页面访问请求时,所述目标访问请求包括所述多个用户端发送的网页访问请求。
S204,截取共享接入网中的用户端发送的所述目标访问请求。
例如,所述检测装置截取共享接入网中的用户端发送的所述目标访问请求。可选的,所述目标访问请求为满足FLASH COOKIE的编辑条件的访问请求。所述FLASH COOKIE与HTTP COOKIE相似,所述HTTP COOKIE为HTTP中用于在浏览器和服务器之间传输状态信息的机制,COOKIE是服务器保存在用户浏览器上的小文件,它可以包含有关用户的信息。FLASH COOKIE也就是记录用户在访问FLASH的时候保留的信息,鉴于FLASH技术的普遍性,几乎所有的网站都采用,因此本发明实施例对用户上网行为的依赖性较低。
S205,根据所述目标访问请求的目的访问网站伪造访问网站,以生成携带属性参数的重定向报文。
例如,通常,所述目标访问请求携带目的访问网站,在现有服务器与用户端的交互过程中,服务器根据用户端的浏览器发送的网页访问请求从资源中读
取所述目的访问网站相应的数据,并回送访问请求回应,浏览器从该回应中解析出数据,并在用户端的显示屏上显示相应的数据。由于所述检测装置将所述目标访问请求截获,使得所述目标访问请求无法到达目的服务器,因此所述检测装置根据所述目标访问请求的目的访问网站伪造访问网站,以生成携带属性参数的重定向报文,从而回应所述目标访问请求。
可选的,所述属性参数为时间戳值,即上次所述用户端访问服务器时服务器所记录的时间值,所述时间戳值会自动更新,记录最新的时间值。
S206,将所述重定向报文发送至所述用户端,所述重定向报文用于指示所述用户端向虚拟IP地址请求存储属性文件。
例如,所述重定向报文为暂时重定向302报文,将所述目标访问请求临时转至伪造的访问网站。所述检测装置将所述重定向报文发送至与所述目标访问请求相对应的用户端。当所述用户端接收到所述重定向报文时,只能读取所述重定向报文中的所述属性参数,不能写入其他信息,因此所述用户端需要特定工具才能对所述属性参数进行编辑。可选的,所述特定工具为存储属性文件,所述存储属性文件为编辑所述属性参数的必要中间文件,所述用户端只有获取到所述存储属性文件才能对所述属性参数进行编辑,因此所述用户端根据所述重定向报文向所述虚拟IP地址请求存储属性文件。所述虚拟IP地址为服务器的虚拟IP地址,避免海量用户向服务器获取必要中间文件时对服务器造成的性能压力。所述检测装置内保存着至少一个目地访问网站所对应的存储属性文件,所述存储属性文件包括脚本属性文件和动画属性文件,所述脚本属性文件即为后缀名称为js的文件,所述动画属性文件即为后缀名称为swf的文件。
S207,当监听到所述用户端向所述虚拟IP协议地址请求所述存储属性文件时,根据所述请求的握手报文伪造握手确认报文与所述用户端建立TCP连接,并记录最大报文段长度。
例如,所述用户端在向所述虚拟IP地址发送的请求的过程中,首先向所述虚拟IP地址发送SYN报文,请求与所述检测装置建立TCP连接。由于所述虚拟IP地址的策略路由经过所述检测装置监测的网络链路,因此所述检测装置接收到SYN报文后,模拟服务器伪造SYN+ACK报文,回复所述用户端,从而成功建立所述用户端与所述虚拟IP地址之间的TCP连接,也即建立所述
用户端与所述检测装置之间的TCP连接。在建立TCP连接的同时所述检测装置记录最大报文段长度。
S208,根据所述请求查找所述存储属性文件并将所述存储属性文件封装于回复报文中,以使所述回复报文携带所述存储属性文件。
例如,建立TCP连接之后,所述检测装置根据所述请求在本检测装置内部查找与所述目标访问请求相对应的所述存储属性文件,并将所述存储属性文件封装于回复报文中,即封装于200OK中,使得所述回复报文携带所述存储属性文件。其中,200OK报文表示服务器已经成功的处理了用户端发送的请求。
由于所述存储属性文件包括脚本属性文件和动画属性文件,因此所述请求包括所述脚本属性文件的请求和所述动画属性文件的请求,所述用户端依次发送这两个请求。当所述检测装置检测到所述用户端向所述虚拟IP地址请求所述脚本属性文件时,在所述检测装置内查找所述脚本属性文件并将所述脚本属性文件封装于第一回复报文中,以使所述第一回复报文携带所述脚本属性文件;当所述检测装置检测到所述用户端向所述虚拟IP地址请求所述动画属性文件时,在所述检测装置内查找所述动画属性文件并将所述动画属性文件封装于第二回复报文中,以使所述第二回复报文携带所述动画属性文件。其中,所述第一回复报文和所述第二回复报文均为200OK报文。
S209,将所述回复报文发送至所述用户端,以使所述用户端根据所述回复报文中的所述存储属性文件编辑所述属性参数并反馈携带编辑后的属性参数的请求报文。
例如,由于在建立所述用户端与所述检测装置之间的TCP连接时,记录了所述最大报文段长度。所述检测装置在对所述第一回复报文和所述第二回复报文进行封装时,并不清楚封装后的回复报文长度,因此所述检测装置需分别判断所述第一回复报文和所述第二回复报文的报文长度是否大于预设的报文长度。所述预设的报文长度由所述检测装置设定。当所述第一回复报文和/或所述第二回复报文的报文长度大于所述预设的报文长度时,根据所述最大报文段长度对所述第一回复报文和/或所述第二回复报文进行分片,并对所述第二回复报文的最后一个分片设置结束(Finish,FIN)标志。然后所述检测装置将
分片后的所述第一回复报文和所述第二回复报文分片发送至所述用户端。所述用户端在接收到携带有FIN标志的分片报文时,发送确认(Acknowledgement,ACK)报文和FIN报文至所述检测装置。
当所述检测装置接收到所述ACK报文和所述FIN报文时,向所述用户端反馈回复确认报文,所述回复确认报文用于指示所述用户端关闭所述TCP连接。其中,所述回复确认报文也为ACK报文。
在关闭所述TCP连接之后,所述用户端便提取所述第一回复报文和所述第二回复报文中的所述存储属性文件,并根据所述存储属性文件编辑所述属性参数。可选的,所述用户端将自己的标识信息写入所述属性参数中,例如将所述用户端的名称、私网IP地址等标识信息写入所述属性参数中,以便所述检测装置获得更加全面的数据。
S210,接收所述用户端发送的所述携带编辑后的属性参数的请求报文,所述请求报文用于请求空白文件。
例如,所述检测装置接收所述用户端发送的所述携带编辑后的属性参数的请求报文。所述请求报文用于请求空白文件,例如后缀名称为gif的文件,所述请求报文用于将所述编辑后的属性参数发送至所述检测装置。
S211,获取所述请求报文中的所述编辑后的属性参数并统计所述编辑后的属性参数的个数。
例如,由于所述目标访问请求不止一个,因此所述请求报文也不止一个,每个请求报文都携带一个编辑后的属性参数,因此所述检测装置获取所述请求报文中的所述编辑后的属性参数并统计所述编辑后的属性参数的个数。
S212,将所述属性参数的个数作为所述共享接入网中的所述用户端的数量。
例如,所述检测装置将所述编辑后的属性参数的个数作为所述共享接入网中的所述用户端的数量,通过统计所述编辑后的属性参数的个数便得到所述共享接入网中的所述用户端的数量。在大多数的情况中,共享接入网中的用户端与主机是一一对应的关系,因此本发明实施例通过统计共享接入网中的用户端的数量,便可得到共享接入网中的主机数目。由于所述编辑后的属性参数中包括所述用户端的标识信息,因此使得统计的结果更加全面、准确。
当所述检测装置获取到所述编辑后的属性参数之后释放对所述目标访问请求的拦截,所述用户端便可正常访问所述目标访问请求所对应的目标访问网站。
在本发明实施例中,通过检测装置截取共享接入网中的用户端发送的目标访问请求,并根据目标访问请求向用户端返回携带属性参数的重定向报文,然后用户端根据重定向报文向虚拟IP地址请求存储属性文件,当检测装置监听到用户端向虚拟IP地址请求存储属性文件时,与用户端建立TCP连接,并向用户端发送携带存储属性文件的回复报文,然后用户端根据回复报文中的存储属性文件编辑属性参数并反馈携带编辑后的属性参数的请求报文,最后检测装置根据请求报文中的编辑后属性参数统计共享接入网中的用户端的数量,实现对共享接入网中主机数目的检测,并提高检测结果的准确性,降低对用户上网行为的依赖性,同时减少了海量用户对服务器的性能压力。
下面将结合附图3-附图9对本发明实施例提供的检测装置进行详细介绍。需要说明的是,附图3-附图9所示的检测装置,用于执行本发明图1和图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1和图2所示的实施例。
请参见图3,为本发明提供的一种检测装置的结构示意图,该检测装置10可包括:截取单元101、返回单元102、连接单元103和统计单元104。
截取单元101,用于截取共享接入网中的用户端发送的目标访问请求,所述目标访问请求为携带获取GET数据包的页面访问请求。
例如,在由NAT设备构成的共享接入网中,NAT设备之后的用户端,即以同一个公网IP地址接入互联网的主机,根据用户输入的网址向服务器发送网页访问请求(WEB访问请求)。大多数的WEB访问请求为页面访问请求,所述页面访问请求包括获取(GET)请求和传送(POST)请求。其中,GET请求是通过发送GET数据包向指定的资源请求获取数据,GET请求的数据会被缓存,也会被保存在浏览器的历史记录中。而POST请求是通过发送POST数据包向指定的资源提交要被处理的数据,POST请求不会被缓存,也不会被保存在浏览器的历史记录中。因此所述截取单元101截取共享接入网中的用户
端发送的携带GET数据包的页面访问请求,所述携带GET数据包的页面访问请求即为目标访问请求。
可选的,所述目标访问请求为满足多媒体程序播放器的本地存储对象(FLASH COOKIE)的编辑条件的访问请求。所述FLASH COOKIE与超文本传输协议的本地存储对象(HTTP COOKIE)相似,所述HTTP COOKIE为HTTP中用于在浏览器和服务器之间传输状态信息的机制,COOKIE是服务器保存在用户浏览器上的小文件,它可以包含有关用户的信息。FLASH COOKIE也就是记录用户在访问多媒体程序(FLASH)网页的时候保留的信息,鉴于FLASH技术的普遍性,几乎所有的网站都采用,因此本发明实施例对用户上网行为的依赖性较低。
需要说明的是,所述共享接入网中的用户端不止一个,所述目标访问请求也不止一个。所述检测装置10实时监听所述共享接入网中的至少一个用户端发送的WEB访问请求,当监听到所述至少一个用户端中任一个用户端的WEB访问请求时,判断所监听到的WEB访问请求是否为携带GET数据包的页面访问请求。当判断的结果为是时,所述检测装置10将所述携带GET数据包的页面访问请求确定为所述目标访问请求。当所述至少一个用户端中的多个用户端发送网页访问请求均为所述携带GET数据包的页面访问请求时,所述目标访问请求包括所述多个用户端发送的网页访问请求。
返回单元102,用于根据所述目标访问请求向所述用户端返回携带属性参数的重定向报文,所述重定向报文用于指示所述用户端向虚拟互联网协议IP地址请求存储属性文件。
例如,所述返回单元102根据所述目标访问请求向所述用户端返回携带属性参数的重定向报文,所述重定向报文用于指示所述用户端向虚拟IP地址请求存储属性文件。
请参见图4,为图3所示实施例提供的返回单元的结构示意图,所述返回单元102可包括生成单元1021和第一发送单元1022。
生成单元1021,用于根据所述目标访问请求的目的访问网站伪造访问网站,以生成携带属性参数的重定向报文。
例如,通常,所述目标访问请求携带目的访问网站,在现有服务器与用户
端的交互过程中,服务器根据用户端的浏览器发送的网页访问请求从资源中读取所述目的访问网站相应的数据,并回送访问请求回应,浏览器从该回应中解析出数据,并在用户端的显示屏上显示相应的数据。由于所述截取单元101将所述目标访问请求截获,使得所述目标访问请求无法到达目的服务器,因此所述生成单元1021根据所述目标访问请求的目标访问网站伪造访问网站,以生成携带属性参数的重定向报文。所述重定向报文为暂时重定向302报文,将所述目标访问请求临时转至伪造的访问网站,从而回应所述目标访问请求。
可选的,所述属性参数为时间戳值,即上次所述用户端访问服务器时服务器所记录的时间值,所述时间戳值会自动更新,记录最新的时间值。
第一发送单元1022,用于将所述重定向报文发送至所述用户端。
例如,所述重定向报文为暂时重定向302报文,将所述目标访问请求临时转至伪造的访问网站。所述第一发送单元1022将所述重定向报文发送至与所述目标访问请求相对应的用户端。当所述用户端接收到所述重定向报文时,只能读取所述重定向报文中的所述属性参数,不能写入其他信息,因此所述用户端需要特定工具才能对所述属性参数进行编辑。可选的,所述特定工具为存储属性文件,所述存储属性文件为编辑所述属性参数的必要中间文件,所述用户端只有获取到所述存储属性文件才能对所述属性参数进行编辑,因此所述用户端根据所述重定向报文向所述虚拟IP地址请求存储属性文件。所述虚拟IP地址为服务器的虚拟IP地址,避免海量用户向服务器获取必要中间文件时对服务器造成的性能压力。所述检测装置10内保存着至少一个目地访问网站所对应的存储属性文件,所述存储属性文件包括脚本属性文件和动画属性文件,所述脚本属性文件即为后缀名称为js的文件,所述动画属性文件即为后缀名称为swf的文件。
连接单元103,用于当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,与所述用户端建立传输控制协议TCP连接,并向所述用户端发送携带所述存储属性文件的回复报文,以使所述用户端根据所述回复报文中的所述存储属性文件编辑所述属性参数并反馈携带编辑后的属性参数的请求报文。
例如,当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,
所述连接单元103与所述用户端建立TCP连接,并向所述用户端发送携带所述存储属性文件的回复报文,以使所述用户端根据所述回复报文中的所述存储属性文件编辑所述属性参数并反馈携带编辑后的属性参数的请求报文。
请参见图5,为图3所示实施例提供的连接单元的结构示意图,所述连接单元103可包括伪造单元1031、查找单元1032和第二发送单元1033。
伪造单元1031,用于当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,根据所述请求的握手报文伪造握手确认报文与所述用户端建立TCP连接,并记录最大报文段长度。
例如,当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,所述伪造单元1031根据所述请求的握手报文伪造握手确认报文与所述用户端建立TCP连接,并记录最大报文段长度。所述用户端在向所述虚拟IP地址发送的请求的过程中,首先向所述虚拟IP地址发送SYN报文,请求与所述检测装置10建立TCP连接。由于所述虚拟IP地址的策略路由经过所述检测装置10监测的网络链路,因此所述伪造单元1031接收到SYN报文后,模拟服务器伪造SYN+ACK报文,回复所述用户端,从而成功建立所述用户端与所述虚拟IP地址之间的TCP连接。在建立TCP连接的同时所述检测装置记录最大报文段长度。
查找单元1032,用于根据所述请求查找所述存储属性文件并将所述存储属性文件封装于回复报文中,以使所述回复报文携带所述存储属性文件。
例如,所述查找单元1032根据所述请求查找所述存储属性文件并将所述存储属性文件封装于回复报文中,以使所述回复报文携带所述存储属性文件。由于所述存储属性文件包括脚本属性文件和动画属性文件,因此所述查找单元1032需分别查找这两个存储属性文件。
请参见图6,为图5所示实施例提供的查找单元的结构示意图,所述查找单元1032可包括第一查找单元1132和第二查找单元1232。
第一查找单元1132,用于当检测到所述用户端向所述虚拟IP地址请求所述脚本属性文件时,查找所述脚本属性文件并将所述脚本属性文件封装于第一回复报文中,以使所述第一回复报文携带所述脚本属性文件。
例如,当所述检测装置10检测到所述用户端向所述虚拟IP地址请求所述
脚本属性文件时,所述第一查找单元1132在所述检测装置内查找所述脚本属性文件并将所述脚本属性文件封装于第一回复报文中,以使所述第一回复报文携带所述脚本属性文件,其中,所述第一回复报文为200OK报文。
第二查找单元1232,用于当检测到所述用户端向所述虚拟IP地址请求所述动画属性文件时,查找所述动画属性文件并将所述动画属性文件封装于第二回复报文中,以使所述第二回复报文携带所述动画属性文件。
例如,当所述检测装置10检测到所述用户端向所述虚拟IP地址请求所述动画属性文件时,所述第二查找单元1232在所述检测装置内查找所述动画属性文件并将所述动画属性文件封装于第二回复报文中,以使所述第二回复报文携带所述动画属性文件,其中,所述第二回复报文为200OK报文。
第二发送单元1033,用于将所述回复报文发送至所述用户端。
例如,所述第二发送单元1033将所述回复报文发送至所述用户端,以使所述用户端根据所述回复报文中的所述存储属性文件编辑所述属性参数并反馈携带编辑后的属性参数的请求报文。所述用户端在接收到所述回复报文时,提取所述回复报文中的所述存储属性文件,并根据所述存储属性文件编辑所述属性参数。可选的,所述用户端将自己的标识信息写入所述属性参数中,例如将所述用户端的名称、私网IP地址等标识信息写入所述属性参数中,以便所述检测装置获得更加全面的数据。所述请求报文用于请求空白文件,例如后缀名称为gif的文件,所述请求报文用于将所述属性参数发送至所述检测装置。
请参见图7,为图5所示实施例提供的第二发送单元的结构示意图,所述第二发送单元1033可包括长度判断单元1133、报文分片单元1233、分片发送单元1333和反馈单元1433。
长度判断单元1133,用于分别判断所述第一回复报文和所述第二回复报文的报文长度是否大于预设的报文长度。
例如,由于在建立所述用户端与所述检测装置之间的TCP连接时,记录了所述最大报文段长度,即对双方之间的能够承载的数据长度做了限定。所述第一查找单元1132和所述第二查找单元1232分别在对所述第一回复报文和所述第二回复报文进行封装时,并不清楚封装后的回复报文长度,因此所述长度判断单元1133需分别判断所述第一回复报文和所述第二回复报文的报文长度
是否大于预设的报文长度。所述预设的报文长度由所述检测装置10设定。
报文分片单元1233,用于当所述第一回复报文和/或所述第二回复报文的报文长度大于所述预设的报文长度时,根据所述最大报文段长度对所述第一回复报文和/或所述第二回复报文进行分片,并对所述第二回复报文的最后一个分片设置结束标志。
例如,当所述第一回复报文和/或所述第二回复报文的报文长度大于所述预设的报文长度时,所述报文分片单元1233根据所述最大报文段长度对所述第一回复报文和/或所述第二回复报文进行分片,并对所述第二回复报文的最后一个分片设置FIN标志。可以理解的是,所述报文分片单元1233将所述第一回复报文和/或所述第二回复报文分为若干等份,每个分片的长度为所述最大报文段长度。
分片发送单元1333,用于将分片后的所述第一回复报文和所述第二回复报文分片发送至所述用户端,以使所述用户端在接收到携带有所述结束标志的分片报文时反馈确认报文和结束报文。
例如,所述分片发送单元1333将分片后的所述第一回复报文和所述第二回复报文分片发送至所述用户端。所述用户端在接收到携带有FIN标志的分片报文时,发送ACK报文和FIN报文至所述检测装置10。
反馈单元1433,用于当接收到所述确认报文和所述结束报文时,向所述用户端反馈回复确认报文,所述回复确认报文用于指示所述用户端关闭所述TCP连接。
例如,当接收到所述ACK报文和所述FIN报文时,所述反馈单元1433向所述用户端反馈回复确认报文,所述回复确认报文用于指示所述用户端关闭所述TCP连接。
统计单元104,用于根据所述请求报文中的所述编辑后的属性参数统计所述用户端的数量,以获得所述共享接入网中的主机数目。
例如,所述统计单元104根据所述请求报文中的所述编辑后的属性参数统计所述用户端的数量,以获得所述共享接入网中的主机数目。
请参见图8,为图3所示实施例提供的统计单元的结构示意图,所述统计单元104可包括接收单元1041和参数统计单元1042。
接收单元1041,用于接收所述用户端发送的所述携带编辑后的属性参数的请求报文,所述请求报文用于请求空白文件。
例如,所述接收单元1041接收所述用户端发送的所述携带编辑后的属性参数的请求报文,所述请求报文用于请求空白文件,例如后缀名称为gif的文件,所述请求报文用于将所述编辑后的属性参数发送至所述检测装置10。
参数统计单元1042,用于获取所述请求报文中的所述编辑后的属性参数并统计所述编辑后的属性参数的个数,将所述编辑后的属性参数的个数作为所述共享接入网中的所述用户端的数量。
例如,所述参数统计单元1042获取所述请求报文中的所述编辑后的属性参数并统计所述编辑后的属性参数的个数,将所述编辑后的属性参数的个数作为所述共享接入网中的所述用户端的数量。由于所述目标访问请求不止一个,因此所述请求报文也不止一个,每个请求报文都携带一个编辑后的属性参数,因此所述参数统计单元1042获取所述请求报文中的所述编辑后的属性参数并统计所述编辑后的属性参数的个数,并将所述编辑后的属性参数的个数作为所述共享接入网中的所述用户端的数量。在大多数的情况中,共享接入网中的用户端与主机是一一对应的关系,因此本发明实施例通过统计共享接入网中的用户端的数量,便可得到共享接入网中的主机数目。由于所述编辑后的属性参数中包括所述用户端的标识信息,因此使得统计的结果更加全面、准确。
当所述检测装置10在参数统计单元1042获取到所述编辑后的属性参数之后释放对所述目标访问请求的拦截,所述用户端便可正常访问所述目标访问请求所对应的目标访问网站。
需要说明的是,本发明实施例中的所述检测装置10包括处理器、输入装置以及输出装置。所述输入装置和所述处理器之间、所述输出装置和所述处理器之间可以通过总线或其他方式连接。所述处理器包括连接单元103,所述输入装置包括截取单元101,所述输出装置包括返回单元102和统计单元104。
在本发明实施例中,通过检测装置截取共享接入网中的用户端发送的目标访问请求,并根据目标访问请求向用户端返回携带属性参数的重定向报文,然后用户端根据重定向报文向虚拟IP地址请求存储属性文件,当检测装置监听到用户端向虚拟IP地址请求存储属性文件时,与用户端建立TCP连接,并向
用户端发送携带存储属性文件的回复报文,然后用户端根据回复报文中的存储属性文件编辑属性参数并反馈携带编辑后的属性参数的请求报文,最后检测装置根据请求报文中的编辑后属性参数统计共享接入网中的用户端的数量,实现对共享接入网中主机数目的检测,并提高检测结果的准确性,降低对用户上网行为的依赖性,同时减少了海量用户对服务器的性能压力。
请参见图9,为本发明实施例提供的另一种检测装置的结构示意图,该检测装置20可包括:监听单元201、请求判断单元202、确定单元203、截取单元204、返回单元205、连接单元206和统计单元207。其中,截取单元204、返回单元205、连接单元206和统计单元207的具体结构可参见图3所示实施例的截取单元101、返回单元102、连接单元103和统计单元104,在此不再赘述。
监听单元201,用于监听共享接入网中的至少一个用户端发送的网页访问请求。
例如,所述监听单元201实时监听共享接入网中的至少一个用户端发送的网页访问请求,所述网页访问请求可以是页面访问请求、数据访问请求等等。所述网页访问请求为根据用户在用户端所输入的网址向服务器发送的访问请求,所述网页访问请求用于访问外网网站。
请求判断单元202,用于当监听到所述至少一个用户端中任一个用户端的网页访问请求时,判断所监听到的网页访问请求是否为携带GET数据包的页面访问请求。
例如,当所述监听单元201监听到所述至少一个用户端中任一个用户端的网页访问请求时,所述请求判断单元202判断所监听到的网页访问请求是否为携带GET数据包的页面访问请求。
确定单元203,用于当判断的结果为是时,将所述携带GET数据包的页面访问请求确定为目标访问请求。
例如,当判断的结果为是时,所述确定单元203将所述携带GET数据包的页面访问请求确定为目标访问请求。所述目标访问请求不止一个,将所有携带获取数据包的页面访问请求均作为所述目标访问请求,当所述至少一个用户
端中的多个用户端发送网页访问请求均为所述携带GET数据包的页面访问请求时,所述目标访问请求包括所述多个用户端发送的网页访问请求。
截取单元204,用于截取共享接入网中的用户端发送的目标访问请求,所述目标访问请求为携带GET数据包的页面访问请求。
返回单元205,用于根据所述目标访问请求向所述用户端返回携带属性参数的重定向报文,所述重定向报文用于指示所述用户端向虚拟IP地址请求存储属性文件。
连接单元206,用于当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,与所述用户端建立TCP连接,并向所述用户端发送携带所述存储属性文件的回复报文,以使所述用户端根据所述回复报文中的所述存储属性文件编辑所述属性参数并反馈携带编辑后的属性参数的请求报文。
统计单元207,用于根据所述请求报文中的所述编辑后的属性参数统计所述用户端的数量,以获得所述共享接入网中的主机数目。
需要说明的是,本发明实施例中的所述检测装置20包括处理器、输入装置以及输出装置。所述输入装置和所述处理器之间、所述输出装置和所述处理器之间可以通过总线或其他方式连接。所述处理器包括请求判断单元202、确定单元203和连接单元206,所述输入装置包监听单元201、截取单元204,所述输出装置包括返回单元205和统计单元207。
在本发明实施例中,通过检测装置截取共享接入网中的用户端发送的目标访问请求,并根据目标访问请求向用户端返回携带属性参数的重定向报文,然后用户端根据重定向报文向虚拟IP地址请求存储属性文件,当检测装置监听到用户端向虚拟IP地址请求存储属性文件时,与用户端建立TCP连接,并向用户端发送携带存储属性文件的回复报文,然后用户端根据回复报文中的存储属性文件编辑属性参数并反馈携带编辑后的属性参数的请求报文,最后检测装置根据请求报文中的编辑后属性参数统计共享接入网中的用户端的数量,实现对共享接入网中主机数目的检测,并提高检测结果的准确性,降低对用户上网行为的依赖性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,
是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (14)
- 一种共享接入主机数目检测方法,其特征在于,包括:截取共享接入网中的用户端发送的目标访问请求,所述目标访问请求为携带获取GET数据包的页面访问请求;根据所述目标访问请求向所述用户端返回携带属性参数的重定向报文,所述重定向报文用于指示所述用户端向虚拟互联网协议IP地址请求存储属性文件;当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,与所述用户端建立传输控制协议TCP连接,并向所述用户端发送携带所述存储属性文件的回复报文,以使所述用户端根据所述回复报文中的所述存储属性文件编辑所述属性参数并反馈携带编辑后的属性参数的请求报文;根据所述请求报文中的所述编辑后的属性参数统计所述用户端的数量,以获得所述共享接入网中的主机数目。
- 根据权利要求1所述的方法,其特征在于,在所述截取共享接入网中的用户端发送的目标访问请求的步骤之前,还包括:监听共享接入网中的至少一个用户端发送的网页访问请求;当监听到所述至少一个用户端中任一个用户端的网页访问请求时,判断所监听到的网页访问请求是否为携带GET数据包的页面访问请求;当判断的结果为是时,将所述携带GET数据包的页面访问请求确定为目标访问请求。
- 根据权利要求1或2所述的方法,其特征在于,所述根据所述目标访问请求向所述用户端返回携带属性参数的重定向报文,包括:根据所述目标访问请求的目的访问网站伪造访问网站,以生成携带属性参数的重定向报文;将所述重定向报文发送至所述用户端。
- 根据权利要求2或3所述的方法,其特征在于,所述当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,与所述用户端建立TCP连接,并向所述用户端发送携带所述存储属性文件的回复报文,包括:当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时时,根据所述请求的握手报文伪造握手确认报文与所述用户端建立TCP连接,并记录最大报文段长度;根据所述请求查找所述存储属性文件并将所述存储属性文件封装于回复报文中,以使所述回复报文携带所述存储属性文件,并将所述回复报文发送至所述用户端。
- 根据权利要求1至4任一项所述的方法,其特征在于,所述存储属性文件包括脚本属性文件和动画属性文件,所述回复报文包括第一回复报文或第二回复报文;所述根据所述请求查找所述存储属性文件并将所述存储属性文件封装于回复报文中,以使所述回复报文携带所述存储属性文件,包括:当检测到所述用户端向所述虚拟IP地址请求所述脚本属性文件时,查找所述脚本属性文件并将所述脚本属性文件封装于第一回复报文中,以使所述第一回复报文携带所述脚本属性文件;当检测到所述用户端向所述虚拟IP地址请求所述动画属性文件时,查找所述动画属性文件并将所述动画属性文件封装于第二回复报文中,以使所述第二回复报文携带所述动画属性文件。
- 根据权利要求5所述的方法,其特征在于,所述将所述回复报文发送至所述用户端,包括:分别判断所述第一回复报文和所述第二回复报文的报文长度是否大于预设的报文长度;当所述第一回复报文和/或所述第二回复报文的报文长度大于所述预设的报文长度时,根据所述最大报文段长度对所述第一回复报文和/或所述第二回复报文进行分片,并对所述第二回复报文的最后一个分片设置结束标志;将分片后的所述第一回复报文和所述第二回复报文分片发送至所述用户端,以使所述用户端在接收到携带有所述结束标志的分片报文时反馈确认报文和结束报文;当接收到所述确认报文和所述结束报文时,向所述用户端反馈回复确认报文,所述回复确认报文用于指示所述用户端关闭所述TCP连接。
- 根据权利要求1至6任一项所述的方法,其特征在于,所述根据所述请求报文中的所述编辑后的属性参数统计所述用户端的数量,包括:接收所述用户端发送的所述携带编辑后的属性参数的请求报文,所述请求报文用于请求空白文件;获取所述请求报文中的所述编辑后的属性参数并统计所述编辑后的属性参数的个数;将所述编辑后的属性参数的个数作为所述共享接入网中的所述用户端的数量。
- 一种检测装置,其特征在于,包括:截取单元,用于截取共享接入网中的用户端发送的目标访问请求,所述目标访问请求为携带获取GET数据包的页面访问请求;返回单元,用于根据所述目标访问请求向所述用户端返回携带属性参数的重定向报文,所述重定向报文用于指示所述用户端向虚拟互联网协议IP地址请求存储属性文件;连接单元,用于当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,与所述用户端建立传输控制协议TCP连接,并向所述用户端发送携带所述存储属性文件的回复报文,以使所述用户端根据所述回复报文中的所述存储属性文件编辑所述属性参数并反馈携带编辑后的属性参数的请求报文;统计单元,用于根据所述请求报文中的所述编辑后的属性参数统计所述用户端的数量,以获取所述共享接入网中的主机数目。
- 根据权利要求8所述的检测装置,其特征在于,所述检测装置还包括:监听单元,用于监听共享接入网中的至少一个用户端发送的网页访问请求;请求判断单元,用于当监听到所述至少一个用户端中任一个用户端的网页访问请求时,判断所监听到的网页访问请求是否为携带GET数据包的页面访问请求;确定单元,用于当判断的结果为是时,将所述携带GET数据包的页面访问请求确定为目标访问请求。
- 根据权利要求8或9所述的检测装置,其特征在于,所述返回单元包括:生成单元,用于根据所述目标访问请求的目的访问网站伪造访问网站,以生成携带属性参数的重定向报文;第一发送单元,用于将所述重定向报文发送至所述用户端。
- 根据权利要求9或10所述的检测装置,其特征在于,所述连接单元包括:伪造单元,用于当监听到所述用户端向所述虚拟IP地址请求所述存储属性文件时,根据所述请求的握手报文伪造握手确认报文与所述用户端建立TCP连接,并记录最大报文段长度;查找单元,用于根据所述请求查找所述存储属性文件并将所述存储属性文件封装于回复报文中,以使所述回复报文携带所述存储属性文件;第二发送单元,用于将所述回复报文发送至所述用户端。
- 根据权利要求8至11任一项所述的检测装置,其特征在于,所述存储属性文件包括脚本属性文件和动画属性文件,所述回复报文包括第一回复报文和第二回复报文;所述查找单元包括:第一查找单元,用于当检测到所述用户端向所述虚拟IP地址请求所述脚本属性文件时,查找所述脚本属性文件并将所述脚本属性文件封装于第一回复 报文中,以使所述第一回复报文携带所述脚本属性文件;第二查找单元,用于当检测到所述用户端向所述虚拟IP地址请求所述脚本属性文件,查找所述动画属性文件并将所述动画属性文件封装于第二回复报文中,以使所述第二回复报文携带所述动画属性文件。
- 根据权利要求12所述的检测装置,其特征在于,所述第二发送单元包括:长度判断单元,用于分别判断所述第一回复报文和所述第二回复报文的报文长度是否大于预设的报文长度;报文分片单元,用于当所述第一回复报文和/或所述第二回复报文的报文长度大于所述预设的报文长度时,根据所述最大报文段长度对所述第一回复报文和/或所述第二回复报文进行分片,并对所述第二回复报文的最后一个分片设置结束标志;分片发送单元,用于将分片后的所述第一回复报文和所述第二回复报文分片发送至所述用户端,以使所述用户端在接收到携带有所述结束标志的分片报文时反馈确认报文和结束报文;反馈单元,用于当接收到所述确认报文和所述结束报文时,向所述用户端反馈回复确认报文,所述回复确认报文用于指示所述用户端关闭所述TCP连接。
- 根据权利要求8至13任一项所述的检测装置,其特征在于,所述统计单元包括:接收单元,用于接收所述用户端发送的所述携带编辑后的属性参数的请求报文,所述请求报文用于请求空白文件;参数统计单元,用于获取所述请求报文中的所述编辑后的属性参数并统计所述编辑后的属性参数的个数,将所述编辑后的属性参数的个数作为所述共享接入网中的所述用户端的数量。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/081794 WO2016201673A1 (zh) | 2015-06-18 | 2015-06-18 | 一种共享接入主机数目检测方法及检测装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106664223A true CN106664223A (zh) | 2017-05-10 |
CN106664223B CN106664223B (zh) | 2020-03-20 |
Family
ID=57544733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580031151.6A Active CN106664223B (zh) | 2015-06-18 | 2015-06-18 | 一种共享接入主机数目检测方法及检测装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106664223B (zh) |
WO (1) | WO2016201673A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495538A (zh) * | 2018-09-19 | 2019-03-19 | 北京奇安信科技有限公司 | 一种共享接入终端数量的检测方法及装置 |
CN115065627A (zh) * | 2022-05-20 | 2022-09-16 | 北京奇艺世纪科技有限公司 | 参数修改方法、装置、电子设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026630A (zh) * | 2007-03-30 | 2007-08-29 | 华为技术有限公司 | 检测方法、统计分析服务器以及检测系统 |
CN101035031A (zh) * | 2007-04-03 | 2007-09-12 | 华为技术有限公司 | 检测共享接入的主机数目的方法和装置 |
CN101035035A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 检测主机数量的方法、装置与系统及通信方法 |
CN101291327A (zh) * | 2008-06-06 | 2008-10-22 | 华为技术有限公司 | 一种检测共享接入主机数的方法及装置 |
CN101436965A (zh) * | 2008-11-29 | 2009-05-20 | 成都市华为赛门铁克科技有限公司 | 一种共享接入客户端数量的检测方法、装置以及系统 |
CN101442450A (zh) * | 2008-12-24 | 2009-05-27 | 成都市华为赛门铁克科技有限公司 | 一种检测共享接入终端数量的方法、系统及装置 |
CN101447928A (zh) * | 2008-12-31 | 2009-06-03 | 华为技术有限公司 | 分片信息处理的方法和装置 |
CN101505247A (zh) * | 2009-03-09 | 2009-08-12 | 成都市华为赛门铁克科技有限公司 | 一种共享接入主机数目的检测方法和装置 |
CN101599857A (zh) * | 2009-06-25 | 2009-12-09 | 成都市华为赛门铁克科技有限公司 | 检测共享接入主机数目的方法、装置及网络检测系统 |
CN101631052A (zh) * | 2009-08-25 | 2010-01-20 | 杭州华三通信技术有限公司 | 一种检测接入终端数量的方法及装置 |
CN102469088A (zh) * | 2010-11-17 | 2012-05-23 | 郑州威科姆科技股份有限公司 | 基于udp协议的大量数据传输方法 |
CN102868690A (zh) * | 2012-09-13 | 2013-01-09 | 北京航空航天大学 | Web服务隔离检测的方法及系统 |
CN103401861A (zh) * | 2013-07-29 | 2013-11-20 | 深信服网络科技(深圳)有限公司 | 代理上网识别方法及装置 |
CN103763125A (zh) * | 2013-12-27 | 2014-04-30 | 北京集奥聚合科技有限公司 | 运营商网络实际用户数的统计方法和装置 |
CN103986616A (zh) * | 2014-04-15 | 2014-08-13 | 深信服网络科技(深圳)有限公司 | 识别代理上网的机器数的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8391262B2 (en) * | 2009-09-28 | 2013-03-05 | Huawei Technologies Co., Ltd. | WLAN communication device |
-
2015
- 2015-06-18 CN CN201580031151.6A patent/CN106664223B/zh active Active
- 2015-06-18 WO PCT/CN2015/081794 patent/WO2016201673A1/zh active Application Filing
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026630A (zh) * | 2007-03-30 | 2007-08-29 | 华为技术有限公司 | 检测方法、统计分析服务器以及检测系统 |
CN101035035A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 检测主机数量的方法、装置与系统及通信方法 |
CN101035031A (zh) * | 2007-04-03 | 2007-09-12 | 华为技术有限公司 | 检测共享接入的主机数目的方法和装置 |
CN101291327A (zh) * | 2008-06-06 | 2008-10-22 | 华为技术有限公司 | 一种检测共享接入主机数的方法及装置 |
CN101436965A (zh) * | 2008-11-29 | 2009-05-20 | 成都市华为赛门铁克科技有限公司 | 一种共享接入客户端数量的检测方法、装置以及系统 |
CN101442450A (zh) * | 2008-12-24 | 2009-05-27 | 成都市华为赛门铁克科技有限公司 | 一种检测共享接入终端数量的方法、系统及装置 |
CN101447928A (zh) * | 2008-12-31 | 2009-06-03 | 华为技术有限公司 | 分片信息处理的方法和装置 |
CN101505247A (zh) * | 2009-03-09 | 2009-08-12 | 成都市华为赛门铁克科技有限公司 | 一种共享接入主机数目的检测方法和装置 |
CN101599857A (zh) * | 2009-06-25 | 2009-12-09 | 成都市华为赛门铁克科技有限公司 | 检测共享接入主机数目的方法、装置及网络检测系统 |
CN101631052A (zh) * | 2009-08-25 | 2010-01-20 | 杭州华三通信技术有限公司 | 一种检测接入终端数量的方法及装置 |
CN102469088A (zh) * | 2010-11-17 | 2012-05-23 | 郑州威科姆科技股份有限公司 | 基于udp协议的大量数据传输方法 |
CN102868690A (zh) * | 2012-09-13 | 2013-01-09 | 北京航空航天大学 | Web服务隔离检测的方法及系统 |
CN103401861A (zh) * | 2013-07-29 | 2013-11-20 | 深信服网络科技(深圳)有限公司 | 代理上网识别方法及装置 |
CN103763125A (zh) * | 2013-12-27 | 2014-04-30 | 北京集奥聚合科技有限公司 | 运营商网络实际用户数的统计方法和装置 |
CN103986616A (zh) * | 2014-04-15 | 2014-08-13 | 深信服网络科技(深圳)有限公司 | 识别代理上网的机器数的方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495538A (zh) * | 2018-09-19 | 2019-03-19 | 北京奇安信科技有限公司 | 一种共享接入终端数量的检测方法及装置 |
CN115065627A (zh) * | 2022-05-20 | 2022-09-16 | 北京奇艺世纪科技有限公司 | 参数修改方法、装置、电子设备及存储介质 |
CN115065627B (zh) * | 2022-05-20 | 2024-04-12 | 北京奇艺世纪科技有限公司 | 参数修改方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106664223B (zh) | 2020-03-20 |
WO2016201673A1 (zh) | 2016-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8135979B2 (en) | Collecting network-level packets into a data structure in response to an abnormal condition | |
CN104580192B (zh) | 应用程序的网络访问请求的处理方法和装置 | |
CN107624233B (zh) | 一种vpn传输隧道调度方法、装置以及vpn客户端服务器 | |
US20170251004A1 (en) | Method For Tracking Machines On A Network Using Multivariable Fingerprinting Of Passively Available Information | |
CN103067214B (zh) | 用于测试网站性能的方法、客户端、服务器和系统 | |
US20140304406A1 (en) | Optimizing content management | |
US9379952B2 (en) | Monitoring NAT behaviors through URI dereferences in web browsers | |
US11817946B2 (en) | Proxy selection by monitoring quality and available capacity | |
CN107528812B (zh) | 一种攻击检测方法及装置 | |
CN104361051A (zh) | 一种网页服务质量的检测方法及装置 | |
CN107133161A (zh) | 一种生成客户端性能测试脚本方法及装置 | |
CN110557358A (zh) | 蜜罐服务器通信方法、SSLStrip中间人攻击感知方法及相关装置 | |
CN105635073A (zh) | 访问控制方法、装置和网络接入设备 | |
CN106549989A (zh) | 一种数据传输方法及其系统、用户终端、应用服务器 | |
US8490173B2 (en) | Unauthorized communication detection method | |
WO2015123990A1 (zh) | 一种页面推送方法、装置、服务器和系统 | |
CN106664223A (zh) | 一种共享接入主机数目检测方法及检测装置 | |
CN108667913B (zh) | 共享终端接入管理的方法、装置、计算机设备和存储介质 | |
CN102510386B (zh) | 分布式攻击阻止方法及装置 | |
CN111831513A (zh) | 日志查询方法、装置、电子设备、及存储介质 | |
CN113411228B (zh) | 一种网络状况的确定方法及服务器 | |
KR20190090862A (ko) | 재지향 감소 | |
JP2013243534A (ja) | 遅延時間評価装置および遅延時間評価方法 | |
US20160234324A1 (en) | Information on navigation behavior of web page users | |
CN105516297A (zh) | 一种信息上报的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |