一种共享上网的检测方法及装置与流程

文档序号:11180445阅读:686来源:国知局
一种共享上网的检测方法及装置与流程

本发明涉及互联网通信技术领域,尤其涉及一种共享上网的检测方法及装置。



背景技术:

通常,用户为了节省成本以及保护内部网络,会在一个集体(例如学校或企业)内部建立一个局域网,在局域网内采用共享上网的方式上网,即多个内网(局域网)用户通过路由设备进行网络地址转换后,采用同一个公网ip地址连接外网(广域网)。而提供外网连接服务的运营商出于利益和管理方面的考虑,会对共享上网进行控制,其中,首先需要对共享上网进行检测。

现有技术中,外网管理者通常在需要进行管理的局域网与外网之间布置用于检测共享上网的检测装置,对用户的共享上网进行检测。共享上网的检测方法包括多种,例如,第一种方法为ip(internetprotocol,网络之间互联的协议)报文id(identifier,头部标识符)特征检测方法,主要是由同一终端发出的ip报文的报文头部的id值呈线性增长,通过检测接收到的ip报文的报文头部的id值的变化曲线,即可判断出发出ip报文的终端所在网络是否存在共享上网的现象。但这种检测方法只对安装windows系统的终端有效,对于安装linux系统的终端,由于其发送的ip报文的报文头部的id值在多条流之间不存在线性关系,容易导致误识别。第二种方法为用户代理(user-agent)特征检测技术,主要是在http(hypertexttransferprotocol,超文本传输协议)流中,报文头部的user-agent字段会携带终端的系统信息,采用该系统信息可以区分终端。但这种方法中,user-agent字段中终端的系统信息可能并不是终端真正的系统信息,同样容易导致误识别。第三种方法为tcp时间戳检测方法,主要是每一个终端均具有一个时间戳时钟,该时间戳时钟在相应终端开启之后,取一个初始值后线性增长,因此每个终端发送的tcp报文携带的时间戳均不一样,由此可对终端进行区分。不过这种方法对于安装linux系统的终端比较有效,而安装windows系统的终端发出的报文不携带时间戳,无法采用该方法进行检测,即该方法具有一定的局限性。

综上可知,现有的共享上网的检测方法,存在使用局限性和误识别的问题。



技术实现要素:

本发明提供了一种共享上网的检测方法及装置,以解决现有的共享上网的检测方法,存在使用局限性和误识别的问题。

第一方面,本发明提供了一种共享上网的检测方法,该检测方法包括:在预设检测时长内,检测到目标局域网中用户终端发送的报文为超文本传输协议http报文后,劫持所述http报文的流量;向所述用户终端推送探测页面,通过所述探测页面获取所述用户终端的内网ip地址和相应的公网ip地址,所述探测页面携带有获取用户终端的内网ip地址和相应公网ip地址的脚本;分析所述预设检测时长内获取到的公网ip地址对应的内网ip地址的数量,根据分析的结果确定所述目标局域网中共享上网的检测结果。

进一步,向所述用户终端推送探测页面之前,该检测方法还包括:确定所述http报文的源ip地址;判断在所述预设检测时长内向所述源ip地址推送所述探测页面的次数是否大于预设阈值;如果是,则将记录的向所述源ip地址推送所述探测页面的次数更新为零,以及停止在所述预设检测时长内对所述目标局域网进行共享上网检测的后续操作;或,如果否,则执行后续向所述用户终端推送探测页面的操作。

进一步,向所述用户终端推送探测页面之后,该方法还包括:更新记录的向所述源ip地址推送所述探测页面的次数。

进一步,检测到目标局域网中用户终端发送的报文为超文本传输协议http报文后,劫持所述http报文的流量之前,该检测方法还包括:实时检测所述目标局域网的用户终端发送的报文是否为http报文;如果是,则执行后续劫持所述http报文的流量的操作;或,如果否,则重新执行检测所述目标局域网的用户终端发送的报文是否为http报文的操作,直至所述预设检测时长结束。

进一步,根据分析的结果确定所述目标局域网中共享上网的检测结果的过程,具体包括:如果所述公网ip地址对应的内网ip地址的数量大于或等于预设数量,则确定所述目标局域网中存在共享上网;或,如果所述公网ip地址对应的内网ip地址的数量小于预设数量,则确定所述目标局域网中不存在共享上网。

第二方面,本发明还提供了一种共享上网的检测装置,该检测装置包括:流量劫持模块,用于在预设检测时长内,检测到目标局域网中用户终端发送的报文为超文本传输协议http报文后,劫持所述http报文的流量;ip地址获取模块,用于向所述用户终端推送探测页面,通过所述探测页面获取所述用户终端的内网ip地址和相应的公网ip地址,所述探测页面携带有获取用户终端的内网ip地址和相应公网ip地址的脚本;分析模块,用于分析所述预设检测时长内获取到的公网ip地址对应的内网ip地址的数量,根据分析的结果确定所述目标局域网中共享上网的检测结果。

进一步,该检测装置还包括:源ip地址确定模块,用于确定所述http报文的源ip地址;判断模块,用于判断在所述预设检测时长内向所述源ip地址推送所述探测页面的次数是否大于预设阈值;如果是,则将记录的向所述源ip地址推送所述探测页面的次数更新为零,以及停止在所述预设检测时长内对所述目标局域网进行共享上网检测的后续操作;或,如果否,则执行后续向所述用户终端推送探测页面的操作。

进一步,该检测装置还包括:计录更新模块,用于更新记录的向所述源ip地址推送所述探测页面的次数。

进一步,该检测装置还包括:报文检测模块,用于实时检测所述目标局域网的用户终端发送的报文是否为http报文;如果是,则执行后续劫持所述http报文的流量的操作;或,如果否,则重新执行检测所述目标局域网的用户终端发送的报文是否为http报文的操作,直至所述预设检测时长结束。

进一步,所述分析模块用于根据分析的结果确定所述目标局域网中共享上网的检测结果,具体包括:所述分析模块用于执行下述操作:如果所述公网ip地址对应的内网ip地址的数量大于或等于预设数量,则确定所述目标局域网中存在共享上网;或,如果所述公网ip地址对应的内网ip地址的数量小于预设数量,则确定所述目标局域网中不存在共享上网。

本发明实施例提供的技术方案可以包括以下有益效果:本发明提供了一种共享上网的检测方法及装置,该检测方法中,通过劫持用户终端发送的每一个http报文的流量,向发送该http报文的用户终端推送携带有获取用户终端的内网ip地址和相应公网ip地址的脚本的探测页面,通过该探测页面获取发送该http报文的用户终端的内网ip地址和相应的公网ip地址,之后通过分析预设检测时长内获取到的公网ip地址对应的内网ip地址的数量,即可确定出预设检测时长对应的时间段内,该公网ip地址对应的目标局域网中是否存在共享上网的情况。该检测方法,对于安装windows系统和linux系统或其他系统的用户终端均适用,不存在使用局限性,也不会发生误识别的问题,适用性更好。

附图说明

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

图1为本发明实施例提供的一种共享上网的检测方法的流程示意图;

图2为本发明实施例提供的一种共享上网的检测装置的结构框图。

具体实施方式

结合背景技术可知,网络运营商为了对某个局域网中共享上网的情况进行检测和管理,会在该局域网和外网之间的网络中布置用于检测共享上网的检测装置,采用该检测装置对该局域网中的共享上网情况进行检测和管理。基于此,本发明提供的共享上网的检测方法中,将用于检测共享上网的检测装置,采用旁路或串行的方式,接入目标局域网与外网之间的通信网络中,这样,目标局域网中任意一个用户终端发送至外网的任意一个报文,均会先被发送至该检测装置,之后通过该检测装置发送至外网。本文中,将当前进行检测的局域网定义为目标局域网。目标局域网的数量可以为一个,也可以为多个,即可以采用该检测装置同时对一个或多个目标局域网中共享上网的情况进行检测。

在对任意一个目标局域网进行共享上网检测时,通常是针对一段时长内,该目标局域网中共享上网的情况进行检测,因此,在对该目标局域网中共享上网的情况进行检测之前,通常会预先设置一个预设检测时长,该预设检测时长可以根据实际需要随意进行设定,在预设检测时长内对该目标局域网中共享上网的情况进行检测;或者,也可以以预设检测时长为周期,持续对该目标局域网中共享上网的情况进行检测。下面以一个预设检测时长为例,详细介绍本发明提供的共享上网的检测方法的具体实施例。

参见图1,图1示出的是本发明实施例提供的一种共享上网的检测方法的流程示意图。结合图1可知,该检测方法包括:

步骤101、在预设检测时长内,检测到目标局域网中用户终端发送的报文为超文本传输协议http报文后,劫持所述http报文的流量。

结合前述背景技术内容可知,如果能够确定目标局域网中存在多个用户终端使用同一个公网ip地址访问外网,即可确定该目标局域网中存在共享上网的情况。而如果目标局域网中存在多个用户终端使用同一个公网ip地址访问外网,由于每一个用户终端均会对应一个内网ip地址,该公网ip地址就会对应多个内网ip地址。所以,只要确定该目标局域网对应的公网ip地址是否对应多个内网ip地址,即可确定该目标局域网中是否存在共享上网的情况。由此,只要采用布置于目标局域网与外网之间网络中的检测装置,对该局域网中用户终端的内网ip地址和公网ip地址进行分析,就可以确定出该目标局域网中共享上网的情况。

在webrtc(webreal-timecommunication,网页实时通信)技术中,通过javascript接口可以获取到用户终端的内网ip地址和相应公网ip地址,基于此,本发明实施例采用向目标局域网中用户终端,推送带有javascript脚本的探测页面的方法,获取用户终端的内网ip地址和相应公网ip地址,其中,javascript脚本能够通过webrtc技术获取用户终端的内网ip地址和相应公网ip地址。而想要实现向用户终端推送带有脚本的探测页面,并且让脚本执行,必须劫持通过浏览器访问网页的http报文的流量,因此,在对目标局域网中共享上网的情况进行检测时,需要劫持该目标局域网中用户终端发送的http报文的流量。

具体实施时,想要检测某个时间段内,目标局域网中共享上网的情况时,在检测装置中将检测开始时间设置为该时间段的起始时间,将预设检测时长设置为该时间段的时长。之后,在预设检测时长内,实时检测该目标局域网中用户终端发送的每一个报文是否为http报文;如果检测到该目标局域网中用户终端发送的该报文为http报文,则劫持该http报文的流量;或,如果检测到该目标局域网中用户终端发送的该报文不是http报文,则重新执行检测该目标局域网的用户终端发送的报文是否为http报文的操作,直至预设检测时长结束。总之,想要检测预设检测时长内,目标局域网中共享上网的情况,首先需要劫持该段预设检测时长内,该目标局域网中用户终端发送的每一个http报文的流量。如果目标局域网包括多个,则在预设检测时长内,劫持每一个目标局域网中用户终端发送的每一个http报文的流量。

步骤102、向所述用户终端推送探测页面,通过所述探测页面获取所述用户终端的内网ip地址和相应的公网ip地址,所述探测页面携带有获取用户终端的内网ip地址和相应公网ip地址的脚本。

检测装置劫持到任意一个http报文的流量后,向发送该http报文的用户终端推送探测页面,该探测页面携带有获取用户终端的内网ip地址和相应公网ip地址的脚本(例如能够通过webrtc技术获取用户终端的内网ip地址和相应公网ip地址的javascript脚本),将该探测页面推送至该用户终端后,该探测页面携带的脚本自动被执行,脚本被执行后获取到该用户终端的内网ip地址和相应的公网ip地址,并将获取到的内网ip地址和相应的公网ip地址发送至检测装置;并且该探测页面携带的脚本中记录有该用户终端想要访问的网站的网址,脚本被执行后获取到该用户终端的内网ip地址和相应的公网ip地址之后,会将该用户终端的浏览页面重定向至该用户终端想要访问的网站的页面,不会影响用户访问外网的使用效果。这样,检测装置通过该探测页面就可以获取到发送每一个http报文的用户终端的内网ip地址和相应的公网ip地址。

在一些可选的实施例中,为了更加精确高效的检测出目标局域网中共享上网的情况,会限制向每个源ip地址推送探测页面的次数,避免向同一个源ip地址推送探测页面的次数太多,造成对同一源ip地址的重复分析计算和减少对更多源ip地址的分析计算,影响共享上网的检测效率和精确度。在对目标局域网中共享上网的情况进行检测时,会在劫持到任意一个http报文,向发送该http报文的用户终端推送探测页面之前,先确定该http报文的源ip地址,判断在预设检测时长内向该源ip地址推送探测页面的次数是否大于预设阈值;如果是,则将记录的向该源ip地址推送所述探测页面的次数更新为零,以及停止在所述预设检测时长内对该目标局域网进行共享上网检测的后续操作;或,如果否,则执行后续向发送该http报文的用户终端推送探测页面的操作,并在向该用户终端推送探测页面之后,更新记录的向该源ip地址推送探测页面的次数,即将记录的向该源ip地址推送探测页面的次数增加1。其中,预设阈值可以根据实际需要进行设定,如果希望检测更加精确,该预设阈值可以设置为较小的值,例如2,但不能小于2;如果对于检测结果的精度没有限制,只需初略了解目标局域网中是否可能存在共享上网,则该预设阈值的值可以设置为稍大的值,例如5~10中任意一个值。

步骤103、分析所述预设检测时长内获取到的公网ip地址对应的内网ip地址的数量,根据分析的结果确定所述目标局域网中共享上网的检测结果。

在预设检测时长内,检测装置获取到发送每一个http报文的用户终端的内网ip地址和公网ip地址后,通过分析该预设检测时长内获取到的每一个公网ip地址对应的内网ip地址的数量,就可以确定出在预设检测时长对应的时间段内,该公网ip地址对应的目标局域网中共享上网的情况。如果某一个公网ip地址对应的内网ip地址的数量大于或等于预设数量,则确定该公网ip地址对应的目标局域网中存在共享上网;或,如果该公网ip地址对应的内网ip地址的数量小于预设数量,则确定该公网ip地址对应的目标局域网中不存在共享上网,其中,预设数量可以设置为2。例如,如果某一个公网ip地址对应的内网ip地址的数量为3,则可以确定从检测开始后,预设检测时长对应的时间段内,该公网ip地址对应的目标局域网中存在共享上网的情况。如果某一个公网ip地址对应的内网ip地址的数量为1,则可以确定从检测开始后,预设检测时长对应的时间段内,该公网ip地址对应的目标局域网中不存在共享上网的情况。

本发明实施例提供的共享上网的检测方法中,通过劫持用户终端发送的每一个http报文的流量,向发送该http报文的用户终端推送携带有获取用户终端的内网ip地址和相应公网ip地址的脚本的探测页面,通过该探测页面获取发送该http报文的用户终端的内网ip地址和相应的公网ip地址,之后通过分析预设检测时长内获取到的公网ip地址对应的内网ip地址的数量,即可确定出预设检测时长对应的时间段内,该公网ip地址对应的目标局域网中是否存在共享上网的情况。该检测方法,对于安装windows系统和linux系统或其他系统的用户终端均适用,不存在使用局限性,也不会发生误识别的问题,适用性更好。

与上述共享上网的检测方法相对应,本发明还提供了一种共享上网的检测装置。

参见图2,图2示出的是本发明实施例提供的一种共享上网的检测装置的结构框图。结合图2可知,该检测装置包括:流量劫持模块201,用于在预设检测时长内,检测到目标局域网中用户终端发送的报文为超文本传输协议http报文后,劫持所述http报文的流量;ip地址获取模块202,用于向所述用户终端推送探测页面,通过所述探测页面获取所述用户终端的内网ip地址和相应的公网ip地址,所述探测页面携带有获取用户终端的内网ip地址和相应公网ip地址的脚本;分析模块203,用于分析所述预设检测时长内获取到的公网ip地址对应的内网ip地址的数量,根据分析的结果确定所述目标局域网中共享上网的检测结果。

进一步,该检测装置还包括:源ip地址确定模块204,用于确定所述http报文的源ip地址;判断模块205,用于判断在所述预设检测时长内向所述源ip地址推送所述探测页面的次数是否大于预设阈值;如果是,则将记录的向所述源ip地址推送所述探测页面的次数更新为零,以及停止在所述预设检测时长内对所述目标局域网进行共享上网检测的后续操作;或,如果否,则执行后续向所述用户终端推送探测页面的操作。

进一步,该检测装置还包括:计录更新模块206,用于更新记录的向所述源ip地址推送所述探测页面的次数。

进一步,该检测装置还包括:报文检测模块207,用于实时检测所述目标局域网的用户终端发送的报文是否为http报文;如果是,则执行后续劫持所述http报文的流量的操作;或,如果否,则重新执行检测所述目标局域网的用户终端发送的报文是否为http报文的操作,直至所述预设检测时长结束。

进一步,所述分析模块203用于根据分析的结果确定所述目标局域网中共享上网的检测结果,具体包括:所述分析模块用于执行下述操作:如果所述公网ip地址对应的内网ip地址的数量大于或等于预设数量,则确定所述目标局域网中存在共享上网;或,如果所述公网ip地址对应的内网ip地址的数量小于预设数量,则确定所述目标局域网中不存在共享上网。

本发明实施例提供的共享上网的检测装置,可以实施上述共享上网的检测方法的每一个具体步骤,通过劫持用户终端发送的每一个http报文的流量,向发送该http报文的用户终端推送携带有获取用户终端的内网ip地址和相应公网ip地址的脚本的探测页面,通过该探测页面获取发送该http报文的用户终端的内网ip地址和相应的公网ip地址,之后通过分析预设检测时长内获取到的公网ip地址对应的内网ip地址的数量,即可确定出预设检测时长对应的时间段内,该公网ip地址对应的目标局域网中是否存在共享上网的情况。该检测装置,对于安装windows系统和linux系统或其他系统的用户终端均适用,不存在使用局限性,也不会发生误识别的问题,适用性更好。

具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的共享上网的检测方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

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

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于共享上网的检测装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本发明实施方式并不构成对本发明保护范围的限定。

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