代理上网检测方法和装置制造方法

文档序号:7817570阅读:176来源:国知局
代理上网检测方法和装置制造方法
【专利摘要】本发明涉及一种代理上网检测方法和装置。所述方法包括以下步骤:截取同一上网账号的访问请求;对所述访问请求发送重定向数据包,所述重定向数据包中携带有发送重定向数据包时刻的第一时间戳;接收上报的第一时间戳与第二时间戳之间的时间戳差值,其中,所述第二时间戳为被代理终端接收重定向数据包后获取的被代理终端的系统时间;对所述上报的时间戳差值进行聚类处理得到聚类结果;根据所述聚类结果检测所述同一上网账号是否为代理上网账号。上述代理上网检测方法和系统,利用发送重定向数据包的时间戳和被代理终端接收重定向数据包后的时间戳差值进行聚类判断,避免了对IP数据包的ID信息和TCP数据包的序列号信息的修改,提高了检测的准确性。
【专利说明】
代理上网检测方法和装置

【技术领域】
[0001]本发明涉及互联网领域,特别是涉及一种代理上网检测方法和装置。

【背景技术】
[0002]随着互联网技术的发展,宽带接入成为越来越多用户的现实需求。然而,与独立的宽带接入不同,很多用户将自己的宽带通过路由设备或代理软件共享给他人使用,即一个宽带账号代理很多人共享上网,从而节省自己的宽带费用,甚至从中牟利。这样的宽带共享给网络运行商带来了巨大的经济损失。
[0003]传统的代理上网检测方法包括两种:第一种是根据单个上网账号下连接数的变化或者是否超过特定的阈值来判断宽带用户是否使用代理;第二种是通过统计IPdnternetProtocol,网际协议)数据包 ID (Identity)出现的规律、TCP (Transmiss1n ControlProtocol,传输控制协议)序列号的规律来检测代理上网。第一种检测代理上网的方法依赖于阈值的合理性,然而合理的阈值很难确定;第二种由于路由器已支持修改IP数据包的ID信息和TCP数据包的序列号信息。故上述两种方法检测代理上网准确性较低。


【发明内容】

[0004]基于此,有必要针对传统的代理上网检测方法检测代理上网准确性较低的问题,提供一种能提高检测准确性的代理上网检测方法。
[0005]此外,还有必要提供一种代理上网检测装置。
[0006]一种代理上网检测方法,包括以下步骤:
[0007]截取同一上网账号的访问请求;
[0008]对所述访问请求发送重定向数据包,所述重定向数据包中携带有发送重定向数据包时刻的第一时间戳;
[0009]接收上报的第一时间戳与第二时间戳之间的时间戳差值,其中,所述第二时间戳为被代理终端接收重定向数据包后获取的被代理终端的系统时间;
[0010]对所述上报的时间戳差值进行聚类处理得到聚类结果;
[0011]根据所述聚类结果检测所述同一上网账号是否为代理上网账号。
[0012]在其中一个实施例中,所述对所述上报的时间戳差值进行聚类处理得到聚类结果的步骤包括:
[0013]判断所述上报的时间戳差值是否为第一次上报,若是,则生成一个新的聚类,且所述聚类中心为所述上报的时间戳差值,若否,则计算上报的时间戳差值和已有的聚类中心的最短距尚;
[0014]判断所述最短距离是否大于或等于阈值,若是,则生成一个新的聚类,且所述聚类中心为所述上报的时间戳差值,若否,则更新所述最短距离的聚类中心,并更新所述聚类被上报时间戳差值命中的次数;
[0015]判断所述命中次数是否大于或等于阈值,若是,则所述聚类表示为一个有效的被代理终端,将所述同一上网账号下的被代理终端的数量增加1,若否,则所述同一上网账号下的被代理终端的数量不变。
[0016]在其中一个实施例中,所述方法还包括:
[0017]获取所述同一上网账号下预设的允许被代理终端的最大数量;
[0018]根据所述允许被代理终端的最大数量得到离散时间的所需数量,获取设置的所需数量的离散时间的序列;
[0019]检测到所述同一上网账号下各被代理终端的系统时间自动更新时,按照所述所需数量的离散时间的序列依次对各被代理终端的系统时间进行均匀离散化处理。
[0020]在其中一个实施例中,在所述截取同一上网账号的访问请求的步骤之后,所述方法还包括:
[0021]判断所述访问请求是否为对重定向数据包的响应,若是,则从所述响应中得到所述第一时间戳与第二时间戳之间的时间戳差值,若否,则判断当前的访问请求和上次发送重定向数据包的时间间隔是否超过预设时间间隔,若是,则对所述访问请求发送重定向数据包,所述重定向数据包中携带有发送重定向数据包时刻的第一时间戳,否则结束。
[0022]在其中一个实施例中,所述重定向数据包中包括预设的脚本代码,所述被代理终端接收重定向数据包后,执行所述脚本代码得到被代理终端的系统时间,并计算所述第一时间戳与系统时间的差值。
[0023]一种代理上网检测装置,包括:
[0024]截取模块,用于截取同一上网账号的访问请求;
[0025]重定向模块,用于对所述访问请求发送重定向数据包,所述重定向数据包中携带有发送重定向数据包时刻的第一时间戳;
[0026]接收模块,用于接收上报的第一时间戳与第二时间戳之间的时间戳差值,其中,所述第二时间戳为被代理终端接收重定向数据包后获取的被代理终端的系统时间;
[0027]处理模块,用于对所述上报的时间戳差值进行聚类处理得到聚类结果;
[0028]检测模块,用于根据所述聚类结果检测所述同一上网账号是否为代理上网账号。
[0029]在其中一个实施例中,所述处理模块还用于判断所述上报的时间戳差值是否为第一次上报,若是,则生成一个新的聚类,且所述聚类中心为所述上报的时间戳差值,若否,则计算上报的时间戳差值和已有的聚类中心的最短距离;以及判断所述最短距离是否大于或等于阈值,若是,则生成一个新的聚类,且所述聚类中心为所述上报的时间戳差值,若否,则更新所述最短距离的聚类中心,并更新所述聚类被上报时间戳差值命中的次数;以及判断所述命中次数是否大于或等于阈值,若是,则所述聚类表示为一个有效的被代理终端,将所述同一上网账号下的被代理终端的数量增加1,若否,则所述同一上网账号下的被代理终端的数量不变。
[0030]在其中一个实施例中,所述装置还包括:
[0031]获取模块,用于获取所述同一上网账号下预设的允许被代理终端的最大数量,以及根据所述允许被代理终端的最大数量得到离散时间的所需数量,获取设置的所需数量的离散时间的序列;
[0032]离散化模块,用于检测到所述同一上网账号下各被代理终端的系统时间自动更新时,按照所述所需数量的离散时间的序列依次对各被代理终端的系统时间进行均匀离散化处理。
[0033]在其中一个实施例中,所述装置还包括:
[0034]判断模块,用于在所述截取同一上网账号的访问请求之后,判断所述访问请求是否为对重定向数据包的响应,以及在判断出所述访问请求不为对重定向数据包的响应,则继续判断当前的访问请求和上次发送重定向数据包的数据间隔是否超过预设时间间隔;
[0035]提取模块,用于在判断出所述访问请求为对重定向数据包的响应时,从所述响应中得到所述第一时间戳与第二时间戳之间的时间戳差值;
[0036]所述重定向模块还用于在判断出当前的访问请求和上次发送重定向数据包的时间间隔超过预设时间间隔时,对所述访问请求发送重定向数据包,所述重定向数据包中携带有发送重定向数据包时刻的第一时间戳。
[0037]在其中一个实施例中,所述重定向数据包中包括预设的脚本代码,所述被代理终端接收重定向数据包后,执行所述脚本代码得到被代理终端的系统时间,并计算所述第一时间戳与系统时间的差值。
[0038]上述代理上网检测方法和装置,通过对同一上网账号的访问请求进行截取,并发送重定向数据,重定向数据中携带第一时间戳,并接收第一时间戳和被代理终端接收重定向数据包后获取的第二时间戳之间的时间戳差值,对时间戳差值进行聚类处理,根据聚类结果可检测出该同一上网账号是否为代理上网账号,利用发送重定向数据包的时间戳和被代理终端接收重定向数据包后的时间戳差值进行聚类判断,避免了对IP数据包的ID信息和TCP数据包的序列号信息的修改而导致出现检测的误差,提高了检测的准确性。

【专利附图】

【附图说明】
[0039]图1为一个实施例中代理上网检测方法和装置运行的应用环境图;
[0040]图2为一个实施例中代理上网检测方法的流程图;
[0041]图3为另一个实施例中代理检测方法的流程图;
[0042]图4为一个实施例中对该上报的时间戳差值进行聚类处理得到聚类结果的流程图;
[0043]图5为聚类结果示意图;
[0044]图6为时间离散示意图;
[0045]图7为被代理终端的时间终端更新设置界面示意图;
[0046]图8为一个实施例中代理上网检测装置的结构框图;
[0047]图9为另一个实施例中代理上网检测装置的结构框图;
[0048]图10为一个实施例中代理上网检测装置的结构框图。

【具体实施方式】
[0049]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0050]图1为一个实施例中代理上网检测方法和装置运行的应用环境图。如图1所示,该应用环境包括被代理终端110、路由器120、代理检测设备130和服务器140。
[0051]被代理终端110可为一个或多个。被代理终端110可为个人计算机、平板电脑、智能手机、个人数字助理等。被代理终端I1包括被代理终端IlOa和被代理终端110b。
[0052]被代理终端110 (包括被代理终端IlOa和/或IlOb)通过路由器120向服务器140发起访问请求。与该路由器120连接的被代理终端110通过同一上网账号访问服务器140。该访问请求可为HTTP (Hyper Text Transfer Protocol,超文本传输协议)GET请求。
[0053]代理检测设备130设置在服务器140和路由器120之间,用于截取访问请求,并对访问请求进行重定向,发送重定向数据包给发起访问请求的被代理终端110。该重定向数据包中包括预设的脚本代码,该脚本代码中携带有发送重定向数据包时刻的第一时间戳。重定向是指将各种网络请求重新定向转到其他位置,HTTP重定向则是将原始HTTP请求转为其他页面。脚本代码是指Javascript,是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言。
[0054]被代理终端110接收重定向数据包后,执行脚本代码获取被代理终端110本机的系统时间,即第二时间戳,并计算第一时间戳和第二时间戳的差值,然后通过访问请求(如HTTP GET请求)将该差值上报给代理检测设备130。
[0055]代理检测设备130对差值进行聚类处理,得到该差值的聚类结果,根据聚类结果判断该同一上网账号是否为代理上网账号。
[0056]具体的,代理上网是指使用路由器或代理工具实现多人共用一个IP地址上网,例如若用户使用ASDL方式上网,可以在ASDL的调制解调器下再接一个路由器建立子网,与该路由器的LAN 口连接的多个终端即可通过该路由器代理上网。代理上网账号是指一上网账号存在代理上网行为,则该上网账号即为代理上网账号。因各个被代理终端110的系统时间不完全相同,经过一段时间的重定向之后,将会得到多个完全不相同的差值分类。例如,一上网账号只允许一个被代理终端使用,通过检测该同一上网账号存在:被代理终端A的第一时间戳和第二时间戳的时间戳差值为一 4、一 4、一 3、一 4、一 5,被代理终端B的第一时间戳和第二时间戳的时间戳差值为20、21、20、19、20,时间戳差值的单位为秒。可知,被代理终端A的时间戳差值聚集在一 4这个中心,而被代理终端B的时间戳差值聚集在20这个中心,根据两个不同的聚集中心,可判断该同一上网账号下存在两个被代理终端,即存在代理上网行为。
[0057]图2为一个实施例中代理上网检测方法的流程图。图2中的代理上网检测方法运行于图1的应用环境中,以代理检测设备角度描述。如图2所示,该代理上网检测方法,包括以下步骤:
[0058]步骤202,截取同一上网账号的访问请求。
[0059]具体的,代理检测设备截取同一上网账号的访问请求,该访问请求可为HTTP GET请求。同一上网账号下若存在多个被代理终端,该多个被代理终端访问网络是通过同一上网账号进行访问的。
[0060]步骤204,对该访问请求发送重定向数据包,该重定向数据包中携带有发送重定向数据包时刻的第一时间戳。
[0061]具体的,该重定向数据包可包括预设的脚本代码。
[0062]步骤206,接收上报的第一时间戳与第二时间戳之间的时间戳差值,其中,该第二时间戳为被代理终端接收重定向数据包后获取的被代理终端的系统时间。
[0063]具体的,发起访问请求的被代理终端接收到重定向数据包后,执行重定向数据包中的脚本代码获取被代理终端本机的系统时间,即第二时间戳,然后计算第一时间戳和第二时间戳之间的时间戳差值,并将计算得到的时间戳差值上报给代理检测设备。
[0064]步骤208,对该上报的时间戳差值进行聚类处理得到聚类结果。
[0065]具体的,对上报的时间戳差值聚类处理即对该时间戳差值进行分类,确定其所在的聚类。
[0066]步骤210,根据该聚类结果检测该同一上网账号是否为代理上网账号。
[0067]具体的,将所上报的时间戳差值均进行聚类后,可得到一个或多个聚类,根据最后的聚类数,以及该同一上网账号所允许的最大被代理终端数量,可确定该该上网账号是否为代理上网账号。若聚类数大于最大被代理终端数量,则该上网账号为代理上网账号,若聚类数小于或等于最大被代理终端数量,则该上网账号不为代理上网账号。例如聚类数为5,该上网账号所允许的最大被代理终端数量为4,则该上网账号存在代理上网行为,该上网账号为代理上网账号。
[0068]上述代理上网检测方法,通过对同一上网账号的访问请求进行截取,并发送重定向数据,重定向数据中携带第一时间戳,并接收第一时间戳和被代理终端接收重定向数据包后获取的第二时间戳之间的时间戳差值,对时间戳差值进行聚类处理,根据聚类结果可检测出该同一上网账号是否为代理上网账号,利用发送重定向数据包的时间戳和被代理终端接收重定向数据包后的时间戳差值进行聚类判断,避免了对IP数据包的ID信息和TCP数据包的序列号信息的修改而导致出现检测的误差,提高了检测的准确性。
[0069]在其他实施例中,执行步骤202和204后直接结束,然后再执行步骤206、208和210之间。
[0070]图3为另一个实施例中代理检测方法的流程图。如图3所示,该代理检测方法包括:
[0071]步骤302,截取同一上网账号的访问请求。
[0072]步骤304,判断该访问请求是否为对重定向数据包的响应,若是,则执行步骤310,若否,执行步骤306。
[0073]具体的,判断该访问请求是否为对重定向数据包的响应,首先检测该访问请求的目标IP地址是否为代理检测设备,即被代理终端是否在和代理检测设备的特定端口通信(如89端口等),再进一步检测访问请求中是否含有对代理检测设备的响应数据的特定的字符串,例如“GET/info ? ip = ###&interval = ###”等,若含有,则该访问请求为对重定向数据包的响应。
[0074]步骤306,判断当前的访问请求和上次发送重定向数据包的时间间隔是否超过预设时间间隔,若是,则执行步骤308,否则结束。
[0075]具体的,预设时间间隔即为重定向时间间隔,根据需要设定,例如I分钟,即I分钟重定向一次。设定预设时间间隔的目的是为了防止循环重定向,以避免造成对用户访问网络的影响。例如被代理终端A访问www.abc.com,该访问请求被重定向后,重定向的脚本代码会重新刷新被代理终端A对www.abc.com的访问请求,若没有时间间隔,遇到HTTP GET请求,脚本代码在刷新被代理终端A对www.abc.com的访问请求时,又会被重定向,由此会造成循环重定向,导致网页一直打不开。
[0076]预设时间间隔T可根据需要进行调整,T的值越小,对用户访问网络的影响越大,但共享检测速度越快,T的值越大,则对用户访问网络的影响越小,共享检测出的速度越慢。
[0077]步骤308,对该访问请求发送重定向数据包,该重定向数据包中携带有发送重定向数据包时刻的第一时间戳。
[0078]步骤310,接收上报的第一时间戳与第二时间戳之间的时间戳差值,其中,该第二时间戳为被代理终端接收重定向数据包后获取的被代理终端的系统时间。
[0079]具体的,若访问请求是重定向数据包的响应,则从该响应中接收上报的第一时间戳与第二时间戳之间的时间戳差值,其中,该第二时间戳为被代理终端接收重定向数据包后获取的被代理终端的系统时间。
[0080]步骤312,对该上报的时间戳差值进行聚类处理得到聚类结果。
[0081]具体的,对上报的时间戳差值聚类处理即对该时间戳差值进行分类,确定其所在的聚类。
[0082]步骤314,根据该聚类结果检测该同一上网账号是否为代理上网账号。
[0083]上述代理上网检测方法,通过对同一上网账号的访问请求进行截取,对访问请求进行判断是否为对重定向数据包的响应,若是则从响应中提取时间戳差值,若否,则判断当前访问请求和上次重定向数据包数据间隔是否超过预设时间间隔,超过后发送重定向数据,重定向数据中携带第一时间戳,并接收第一时间戳和被代理终端接收重定向数据包后获取的第二时间戳之间的时间戳差值,对时间戳差值进行聚类处理,根据聚类结果可检测出该同一上网账号是否为代理上网账号,利用发送重定向数据包的时间戳和被代理终端接收重定向数据包后的时间戳差值进行聚类判断,避免了对IP数据包的ID信息和TCP数据包的序列号信息的修改而导致出现检测的误差,提高了检测的准确性,增加访问请求与上次发送重定向数据包间隔时间的判断,可减小对用户访问网络的影响。
[0084]图4为一个实施例中对该上报的时间戳差值进行聚类处理得到聚类结果的流程图。如图4所示,该对该上报的时间戳差值进行聚类处理得到聚类结果的步骤包括:
[0085]步骤402,判断该上报的时间戳差值是否为第一次上报,若是,执行步骤414,若否,执行步骤404。
[0086]步骤404,计算上报的时间戳差值和已有的聚类中心的最短距离。
[0087]具体的,若已有的聚类中心有多个,则分别计算该上报的时间戳差值与各个聚类中心的距离,然后选取出最短距离。
[0088]步骤406,判断该最短距离是否大于或等于阈值,若是,执行步骤414,若否,则执行步骤408。
[0089]具体的,该阈值可根据具体情况设定,例如3或4等。
[0090]步骤408,更新该最短距离的聚类中心,并更新该聚类被上报时间戳差值命中的次数。
[0091]具体的,更新该最短距离的距离中心的方式可为求取该聚类的所有的时间戳差值的平均值作为新的聚类中心或者去掉时间戳差值中的最大值和最小值后的其余的时间戳差值的平均值作为新的聚类中心等。统计聚类被上报时间戳差值命中的次数A,以及累加的上报的时间戳差值B,更新聚类中心的步骤包括:将累加的时间戳差值加上本次上报的时间戳差值得到新的累加的时间戳差值,将统计的命中次数增加I得到新的命中次数,将新的累加的时间戳差值除以新的命中次数得到新的聚类中心。
[0092]步骤410,判断该命中次数是否大于或等于阈值,若是,则执行步骤412,若否结束。
[0093]该聚类被命中的次数大于或等于阈值,则该聚类表示一个有效的被代理终端,将该同一上网账号下的被代理终端数量增加1,若该聚类被命中的次数小于阈值,则该同一上网账号下的被代理终端的数量不变。
[0094]步骤412,该聚类表示一个有效的被代理终端,将该同一上网账号下的被代理终端的数量增加I。
[0095]步骤414,生成一个新的聚类,且该聚类中心为该上报的时间戳差值。
[0096]上述聚类过程计算简单,聚类效率高。
[0097]图5为聚类结果示意图。图5中,以被代理终端A和被代理终端B为例进行聚类描述。代理检测设备接收到被代理终端A的HTTP GET请求,检测其满足重定向的时间间隔,发送HTTP重定向,该重定向数据中包含代理检测设备发出重定向数据包时刻的第一时间戳Tdl,被代理终端A接收到重定向数据包后,获取自身的系统时间即第二时间戳Ta,然后计算Tdl和Ta之间的时间戳差值,并使用HTTP GET请求中携带该时间戳差值上报给代理检测设备,代理检测设备按照上网账号对应的被代理终端A把上报的时间戳差值。被代理终端B亦如此。经过一段时间的重定向,得到如下结果,被代理终端A上报的时间戳差值为一4、一 4、一 3、一 4、一 5……,被代理终端B上报的时间戳差值为20、21、20、19、20……。每个上报的时间戳差值落在一个很小的误差范围内,根据聚类处理,将最相近的时间戳差值聚集在一起,而把距离较远的时间戳差值认为是不同的分类,即对应不同的被代理终端,如被代理终端A的时间戳差值被聚集在一定的半径范围内,被代理终端B的时间戳差值被聚集在另一个半径范围内。
[0098]在一个实施例中,为了保证检测效果,上述代理上网检测方法,包括:
[0099](I)获取该同一上网账号下预设的允许被代理终端的最大数量。
[0100](2)根据该允许被代理终端的最大数量得到离散时间的所需数量,获取设置的所需数量的离散时间的序列。
[0101]例如,允许被代理终端的最大数量为4个,则离散时间的所需数量为5,获取设置的所需数量的尚散时间的序列可为+24秒、一 24秒、+12秒、一 12秒和O秒。如图6所不,时间尚散值为+24秒、一 24秒、+12秒、一 12秒和O秒。
[0102](3)检测到该同一上网账号下各被代理终端的系统时间自动更新时,按照该所需数量的离散时间的序列依次对各被代理终端的系统时间进行均匀离散化处理。
[0103]图7为被代理终端的时间终端更新设置界面示意图。如图7所示,被代理终端可自动与因特网时间服务器进行同步,自动更新时间。
[0104]当检测到被代理终端更新时间后,将同一上网账号第一次时间更新的加+24秒,即比标准时间快24秒,对第二次时间更新的加一 24秒,即比标准时间慢24秒,对第三次时间更新的加+12秒,对第四次时间更新的加一 12秒,第5次时间更新的加O秒等,这样一次离散化处理,每个被代理终端的时间尽可能的彼此存在差值,通过离散化处理之后,后续进行聚类处理更加容易,使得更多的代理被检测。
[0105]图8为一个实施例中代理上网检测装置的结构框图。如图8所示,该代理上网检测装置包括截取模块810、重定向模块820、接收模块830、处理模块840和检测模块850。其中:
[0106]截取模块810用于截取同一上网账号的访问请求。
[0107]重定向模块820用于对该访问请求发送重定向数据包,该重定向数据包中携带有发送重定向数据包时刻的第一时间戳。该重定向数据包中包括预设的脚本代码。
[0108]接收模块830用于接收上报的第一时间戳与第二时间戳之间的时间戳差值,其中,该第二时间戳为被代理终端接收重定向数据包后获取的被代理终端的系统时间。该被代理终端接收重定向数据包后,执行该脚本代码得到被代理终端的系统时间,并计算该第一时间戳与系统时间的差值。
[0109]处理模块840用于对该上报的时间戳差值进行聚类处理得到聚类结果。
[0110]本实施例中,该处理模块840还用于判断该上报的时间戳差值是否为第一次上报,若是,则生成一个新的聚类,且该聚类中心为该上报的时间戳差值,若否,则计算上报的时间戳差值和已有的聚类中心的最短距离;以及判断该最短距离是否大于或等于阈值,若是,则生成一个新的聚类,且该聚类中心为该上报的时间戳差值,若否,则更新该最短距离的聚类中心,并更新该聚类被上报时间戳差值命中的次数;以及判断该命中次数是否大于或等于阈值,若是,则该聚类表示为一个有效的被代理终端,将该同一上网账号下的被代理终端的数量增加1,若否,则该同一上网账号下的被代理终端的数量不变。具体的,若已有的聚类中心有多个,则分别计算该上报的时间戳差值与各个聚类中心的距离,然后选取出最短距离。
[0111]检测模块850用于根据该聚类结果检测该同一上网账号是否为代理上网账号。
[0112]上述代理上网检测方法,通过对同一上网账号的访问请求进行截取,并发送重定向数据,重定向数据中携带第一时间戳,并接收第一时间戳和被代理终端接收重定向数据包后获取的第二时间戳之间的时间戳差值,对时间戳差值进行聚类处理,根据聚类结果可检测出该同一上网账号是否为代理上网账号,利用发送重定向数据包的时间戳和被代理终端接收重定向数据包后的时间戳差值进行聚类判断,避免了对IP数据包的ID信息和TCP数据包的序列号信息的修改而导致出现检测的误差,提高了检测的准确性。
[0113]图9为另一个实施例中代理上网检测装置的结构框图。如图9所示,该代理上网检测装置包括截取模块810、重定向模块820、接收模块830、处理模块840和检测模块850,还包括判断模块860和提取模块870。其中:
[0114]判断模块860用于在该截取同一上网账号的访问请求之后,判断该访问请求是否为对重定向数据包的响应,以及在判断出该访问请求不为对重定向数据包的响应,则继续判断当前的访问请求和上次发送重定向数据包的数据间隔是否超过预设时间间隔。
[0115]提取模块870用于在判断出该访问请求为对重定向数据包的响应时,从该响应中得到该第一时间戳与第二时间戳之间的时间戳差值。
[0116]该重定向模块820还用于在判断出当前的访问请求和上次发送重定向数据包的数据间隔超过预设时间间隔时,对该访问请求发送重定向数据包,该重定向数据包中携带有发送重定向数据包时刻的第一时间戳。
[0117]图10为一个实施例中代理上网检测装置的结构框图。如图10所示,该代理上网检测装置包括截取模块810、重定向模块820、接收模块830、处理模块840和检测模块850,还包括获取模块880和离散化模块890。其中:
[0118]获取模块880用于获取该同一上网账号下预设的允许被代理终端的最大数量,以及根据该允许被代理终端的最大数量得到离散时间的所需数量,获取设置的所需数量的离散时间的序列。
[0119]例如,允许被代理终端的最大数量为4个,则离散时间的所需数量为5,获取设置的所需数量的尚散时间的序列可为+24秒、一 24秒、+12秒、一 12秒和O秒。如图6所不,时间尚散值为+24秒、一 24秒、+12秒、一 12秒和O秒。
[0120]离散化模块890用于检测到该同一上网账号下各被代理终端的系统时间自动更新时,按照该所需数量的离散时间的序列依次对各被代理终端的系统时间进行均匀离散化处理。
[0121]当检测到被代理终端更新时间后,将同一上网账号第一次时间更新的加+24秒,即比标准时间快24秒,对第二次时间更新的加一 24秒,即比标准时间慢24秒,对第三次时间更新的加+12秒,对第四次时间更新的加一 12秒,第5次时间更新的加O秒等,这样一次离散化处理,每个被代理终端的时间尽可能的彼此存在差值,通过离散化处理之后,后续进行聚类处理更加容易,使得更多的代理被检测。
[0122]在其他实施例中,该代理上网检测装置包括截取模块810、重定向模块820、接收模块830、处理模块840、检测模块850、判断模块860、提取模块870、获取模块880和离散化模块890。
[0123]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0124]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种代理上网检测方法,包括以下步骤: 截取同一上网账号的访问请求; 对所述访问请求发送重定向数据包,所述重定向数据包中携带有发送重定向数据包时刻的第一时间戳; 接收上报的第一时间戳与第二时间戳之间的时间戳差值,其中,所述第二时间戳为被代理终端接收重定向数据包后获取的被代理终端的系统时间; 对所述上报的时间戳差值进行聚类处理得到聚类结果; 根据所述聚类结果检测所述同一上网账号是否为代理上网账号。
2.根据权利要求1所述的代理上网检测方法,其特征在于,所述对所述上报的时间戳差值进行聚类处理得到聚类结果的步骤包括: 判断所述上报的时间戳差值是否为第一次上报,若是,则生成一个新的聚类,且所述聚类中心为所述上报的时间戳差值,若否,则计算上报的时间戳差值和已有的聚类中心的最短距离; 判断所述最短距离是否大于或等于阈值,若是,则生成一个新的聚类,且所述聚类中心为所述上报的时间戳差值,若否,则更新所述最短距离的聚类中心,并更新所述聚类被上报时间戳差值命中的次数; 判断所述命中次数是否大于或等于阈值,若是,则所述聚类表示为一个有效的被代理终端,将所述同一上网账号下的被代理终端的数量增加1,若否,则所述同一上网账号下的被代理终端的数量不变。
3.根据权利要求1或2所述的代理上网检测方法,其特征在于,所述方法还包括: 获取所述同一上网账号下预设的允许被代理终端的最大数量; 根据所述允许被代理终端的最大数量得到离散时间的所需数量,获取设置的所需数量的离散时间的序列; 检测到所述同一上网账号下各被代理终端的系统时间自动更新时,按照所述所需数量的离散时间的序列依次对各被代理终端的系统时间进行均匀离散化处理。
4.根据权利要求1所述的代理上网检测方法,其特征在于,在所述截取同一上网账号的访问请求的步骤之后,所述方法还包括: 判断所述访问请求是否为对重定向数据包的响应,若是,则从所述响应中得到所述第一时间戳与第二时间戳之间的时间戳差值,若否,则判断当前的访问请求和上次发送重定向数据包的时间间隔是否超过预设时间间隔,若是,则对所述访问请求发送重定向数据包,所述重定向数据包中携带有发送重定向数据包时刻的第一时间戳,否则结束。
5.根据权利要求1所述的代理上网检测方法,其特征在于,所述重定向数据包中包括预设的脚本代码,所述被代理终端接收重定向数据包后,执行所述脚本代码得到被代理终端的系统时间,并计算所述第一时间戳与系统时间的差值。
6.一种代理上网检测装置,其特征在于,包括: 截取模块,用于截取同一上网账号的访问请求; 重定向模块,用于对所述访问请求发送重定向数据包,所述重定向数据包中携带有发送重定向数据包时刻的第一时间戳; 接收模块,用于接收上报的第一时间戳与第二时间戳之间的时间戳差值,其中,所述第二时间戳为被代理终端接收重定向数据包后获取的被代理终端的系统时间; 处理模块,用于对所述上报的时间戳差值进行聚类处理得到聚类结果; 检测模块,用于根据所述聚类结果检测所述同一上网账号是否为代理上网账号。
7.根据权利要求6所述的代理上网检测装置,其特征在于,所述处理模块还用于判断所述上报的时间戳差值是否为第一次上报,若是,则生成一个新的聚类,且所述聚类中心为所述上报的时间戳差值,若否,则计算上报的时间戳差值和已有的聚类中心的最短距离;以及判断所述最短距离是否大于或等于阈值,若是,则生成一个新的聚类,且所述聚类中心为所述上报的时间戳差值,若否,则更新所述最短距离的聚类中心,并更新所述聚类被上报时间戳差值命中的次数;以及判断所述命中次数是否大于或等于阈值,若是,则所述聚类表示为一个有效的被代理终端,将所述同一上网账号下的被代理终端的数量增加1,若否,则所述同一上网账号下的被代理终端的数量不变。
8.根据权利要求6或7所述的代理上网检测装置,其特征在于,所述装置还包括: 获取模块,用于获取所述同一上网账号下预设的允许被代理终端的最大数量,以及根据所述允许被代理终端的最大数量得到离散时间的所需数量,获取设置的所需数量的离散时间的序列; 离散化模块,用于检测到所述同一上网账号下各被代理终端的系统时间自动更新时,按照所述所需数量的离散时间的序列依次对各被代理终端的系统时间进行均匀离散化处理。
9.根据权利要求6所述的代理上网检测装置,其特征在于,所述装置还包括: 判断模块,用于在所述截取同一上网账号的访问请求之后,判断所述访问请求是否为对重定向数据包的响应,以及在判断出所述访问请求不为对重定向数据包的响应,则继续判断当前的访问请求和上次发送重定向数据包的数据间隔是否超过预设时间间隔; 提取模块,用于在判断出所述访问请求为对重定向数据包的响应时,从所述响应中得到所述第一时间戳与第二时间戳之间的时间戳差值; 所述重定向模块还用于在判断出当前的访问请求和上次发送重定向数据包的时间间隔超过预设时间间隔时,对所述访问请求发送重定向数据包,所述重定向数据包中携带有发送重定向数据包时刻的第一时间戳。
10.根据权利要求6所述的代理上网检测装置,其特征在于,所述重定向数据包中包括预设的脚本代码,所述被代理终端接收重定向数据包后,执行所述脚本代码得到被代理终端的系统时间,并计算所述第一时间戳与系统时间的差值。
【文档编号】H04L12/26GK104363265SQ201410572968
【公开日】2015年2月18日 申请日期:2014年10月23日 优先权日:2014年10月23日
【发明者】张志良, 梁景波 申请人:深信服网络科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1