共享上网检测方法、检测装置及存储介质与流程

文档序号:29435066发布日期:2022-03-30 08:19阅读:290来源:国知局
共享上网检测方法、检测装置及存储介质与流程

1.本发明涉及通信技术领域,尤其涉及一种共享上网检测方法、检测装置及存储介质。


背景技术:

2.现在大多数移动终端,通常都具备无线热点功能,可以方便的与移动网络连接,共享给其它终端设备一起使用。比如:某运营商与某品牌终端厂商合作,推广该品牌终端的无限流量上网套餐,那么,用户在使用该品牌终端该套餐时,如果启用无线热点功能将移动网络共享给其它终端设备一起使用,则将会占用比正常更多的该运营商的带宽资源,让运营商付出更多的运营成本。同时,共享上网也意味着并发流资源的增多,这也会增加运营商在路由器、网关、防火墙等相关设备上的投资。
3.现有技术中对部分终端设备的共享上网行为的判别尚存在误判,因此,如何提高对终端设备共享上网行为的判别精准性,减少对终端设备共享上网行为的误判,是本领域技术人员亟待解决的技术问题。


技术实现要素:

4.本发明实施例的主要目的在于提供一种共享上网检测方法、检测装置及存储介质,旨在提高对终端设备共享上网行为的判别精准性,减少对终端设备共享上网行为的误判。
5.第一方面,本发明实施例提供一种共享上网检测方法,所述方法包括:
6.根据终端设备发送的上行tcp syn报文建立tcp流表,所述tcp流表记录有多个流信息标识,每一所述流信息标识用于表征对应的上行tcp syn报文;
7.根据所述tcp流表获取所述上行tcp syn报文对应的解码信息和tcp时间戳值;
8.根据所述解码信息对接收到的所述上行tcp syn报文进行分组;
9.获取每一组所述上行tcp syn报文的分类信息,其中,所述分类信息表征每一组上行tcp syn报文根据对应的所述tcp时间戳值进行分类的分类结果;
10.根据分类信息判断所述终端设备是否存在共享上网行为。
11.第二方面,本发明实施例还提供一种检测装置,所述检测装置包括处理器、存储器、存储在所述存储器上并可被所述处理器执行的计算机程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,其中所述计算机程序被所述处理器执行时,实现如本发明说明书提供的任一项共享上网检测方法的步骤。
12.第三方面,本发明实施例还提供一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如本发明说明书提供的任一项共享上网检测方法的步骤。
13.本发明实施例提供一种共享上网检测方法、检测装置及存储介质,所述方法包括根据终端设备发送的上行tcp syn报文建立tcp流表,所述tcp流表记录有多个流信息标识,
每一所述流信息标识用于表征对应的上行tcp syn报文;根据所述tcp流表获取所述上行tcp syn报文对应的解码信息和tcp时间戳值;根据所述解码信息对接收到的所述上行tcp syn报文进行分组;获取每一组所述上行tcp syn报文的分类信息,其中,所述分类信息表征每一组上行tcp syn报文根据对应的所述tcp时间戳值进行分类的分类结果;根据分类信息判断所述终端设备是否存在共享上网行为。本发明所提供的方法可以有效解决共享上网检测领域中因tcp时间戳随机化所带来的误检测问题,提高对终端设备共享上网行为的判别精准性,减少对终端设备共享上网行为的误判。
附图说明
14.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
15.图1是本发明实施例提供的一种共享上网检测方法的应用场景示意图;
16.图2为本发明实施例提供的一种共享上网检测方法的流程示意图;
17.图3为本发明实施例提供的一种共享上网检测方法中tcp流表的建立步骤流程示意图;
18.图4为本发明实施例提供的一种共享上网检测方法中上行tcp syn报文的分类信息获取步骤流程示意图;
19.图5为本发明实施例提供的一种检测装置的结构示意框图。
具体实施方式
20.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
22.应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
23.在移动互联网领域中,终端设备种类繁多,用户可能拥有手机、平板电脑、智能音箱、智能投影仪、vr一体机、笔记本电脑等多种便携上网终端设备,在5g移动网络的大带宽、高速率、低时延的基础能力支撑下,以及超大流量套餐优惠下,更多用户倾向于将手机作为上网热点,通过wi-fi共享给多个其它设备共享上网。
24.用户的共享上网行为,会产生更多的并发流量,会对电信运营商根据常规业务模型建立的网络容量和性能造成一定程度的冲击和影响。因此,电信运营商通常会实时分析用户流量中的共享上网行为,对相应的流量进行检测识别,从而进行统计分析、额外收费、干扰、阻断等动作。
25.用户的多设备共享上网技术一直在变化演进,相应地电信运营商对用户共享上网行为的检测技术,也在不断调整升级。比如,在pc互联网时代,早期windows系统中ip(internet protocol)协议栈出站ip报文采用全局顺序递增的ip identification(ip标识)值,而且windows系统开机启动时初始ip identification是随机的。所以,如果发现只有一个递增的ip identification序列,即可判定用户只有一个终端在上网。但如果发现多个递增的ip identification序列,则可判定用户可能存在共享上网行为,且不同序列的数量可能就是共享上网的终端数量。但随着移动互联网时代的到来,新的智能终端系统(如:ios、android),不再采用全局递增的ip identification值,有的系统完全随机,无法再对序列检测,导致该检测方法失效。
26.在移动互联网时代,最有效的共享上网检测方法,是基于tcp(transmission control protocol)syn首部扩展选项中的时间戳值的。大部分智能终端系统(ios、android)的出站tcp syn报文,都会携带tcp时间戳选项,这些系统采用随时间连续递增的时间戳值,且系统启动时初始时间戳值是随机的。因此,如果发现仅存在一个连续递增的时间戳序列,则判定用户不存在共享上网行为;如果发现存在多个连续递增的时间戳序列,则可判定用户可能存在共享上网行为,且不同序列的数量可能就是共享上网的终端数量。
27.随着移动互联网领域对用户隐私保护的提高,新的android系统(如:android 9、android10)采用最新的linux kernel,对出站tcp报文的时间戳值,进行了随机化保护,即同一个终端设备的时间戳值,不再是随时间连续递增的序列了。因此如果再采用根据tcp时间戳特性的现有方法来检测用户共享上网行为,将导致误检测。比如,对于某款新的android手机,用户明明仅仅使用这一个手机上网,却会被电信运营商的相关网络设备误认为该用户使用多个手机共享上网,从而造成将终端设备正常上网行为误判为共享上网行为。
28.因此,本发明提供了一种共享上网检测方法、检测装置及存储介质,旨在提高对终端设备共享上网行为的判别精准性,减少对终端设备共享上网行为的误判断。
29.请参阅图1,图1是本发明实施例提供的一种共享上网检测方法的应用场景示意图。
30.如图1所示,检测系统100包括终端设备10及与终端设备10通信连接的检测装置20。该检测装置20可以是网关设备或者是服务器在此不做限定。
31.终端设备10与检测装置20通过tcp/ip协议进行通信连接,检测装置20通过接收预设周期内终端设备10所发送的多个上行tcp syn报文,并获取每个上行tcp syn报文对应的解码信息和tcp时间戳值。然后根据解码信息对接收到的上行tcp syn报文进行分组,并判断每组中上行tcp syn报文对应的tcp时间戳值的对应分类信息,根据每组上行tcp syn报文的分类信息判断终端设备是否存在共享上网行为。
32.具体地,由于单个终端设备10发送的上行tcp syn报文中tcp时间戳值的类别是单一的,即,一个终端设备10上网时,向检测设备20发送的上行tcp syn报文中对应的tcp时间戳值序列是随机tcp时间戳值序列或非随机tcp时间戳值序列。检测装置20所检测到的多个上行tcp syn报文中对应的tcp时间戳值序列仅可能是单一tcp时间戳值序列,也即是随机tcp时间戳值序列或为非随机tcp时间戳值序列。
33.若检测装置20检测到的一个终端设备10所发送的上行tcp syn报文对应的tcp时
间戳值包括了随机tcp时间戳值序列和非随机tcp时间戳值序列,则表明该终端设备10在与其他终端设备进行网络共享,即是存在共享上网行为。
34.若检测装置20检测到的一个终端设备10所发送的上行tcp syn报文中tcp时间戳值序列为非随机tcp时间戳值序列,则判断该非随机tcp时间戳值序列是否包括多个连续递增的时间戳序列,若是,则可判定终端设备10可能存在共享上网行为,且不同序列的数量可能就是共享上网的终端设备数量。
35.若检测装置20检测到的一个终端设备10所发送的上行tcp syn报文中tcp时间戳值为随机的tcp时间戳值序列,则表明该终端设备10进行了tcp时间戳值保护,则检测装置20排除对该终端设备是否存在上网共享行为的分析,从而效解决共享上网检测领域中因tcp时间戳随机化所带来的误检测问题。
36.请参照图2,图2为本发明实施例提供的一种共享上网检测方法的流程示意图。
37.如图2所示,该共享上网检测方法可以应用于检测装置,该检测装置可以是服务器或者网关设备在此不做限定。所述方法包括步骤s101至步骤s105。
38.步骤s101:根据终端设备发送的上行tcp syn报文建立tcp流表,所述tcp流表记录有多个流信息标识,每一所述流信息标识用于表征对应的上行tcp syn报文。
39.终端设备和检测装置通过tcp/ip协议进行数据传输,检测装置接收预设周期内终端设备所发送的上行tcp syn报文,并根据上行tcp syn报文建立tcp流表,tcp流表记录有多个流信息标识,每一所述流信息标识用于表征对应的一个tcp syn报文。
40.部分实施例中,流信息标识包括用户ip地址、网络ip地址、用户tcp端口及网络tcp端口,通过用户ip地址、网络ip地址、用户tcp端口及网络tcp端口共同识别到对应的上行tcp syn报文。
41.请参阅图3,图3为共享上网检测方法中tcp流表建立的步骤流程图。
42.如图3所示,在部分实施例中,所述根据终端设备发送的上行tcp syn报文建立tcp流表,包括:
43.步骤s1011:获取来自同一用户ip地址的所述终端设备所发送的报文数据;
44.步骤s1012:从所述报文数据中获取上行tcp syn报文;
45.步骤s1013:从所述上行tcp syn报文中筛选符合预设条件的上行tcp syn报文建立tcp流表。
46.示例性地,检测装置对来自同一用户ip地址的终端设备所发送的报文数据,并对获取的报文数据类别进行判断,以检测所获取的报文数据是否满足预设条件,当满足预设条件时即该报文数据为上行tcp syn报文,则可以从报文数据中挑选出上行tcp syn报文,并根据tcp syn报文建立tcp流表。其中,预设条件包括报文数据为上行tcp syn报文数据。检测装置从报文数据的相关字段可以识别出该报文数据是否为上行tcp syn报文数据。
47.如,当报文数据为上行报文数据,且报文数据中ip.protocol=6时,表明该报文数据为上行tcp报文数据,且当报文数据的tcp.flags=2时,表明该报文为上行tcp的syn报文。
48.从报文数据中获取上行tcp syn报文后,从上行tcp syn报文中筛选符合预设条件的上行tcp syn报文建立tcp流表,其中,预设条件为上行tcp syn报文是否为每条tcp流的第一个tcp syn报文,若是,则满足预设条件,若否,则不满足预设条件。即获取每条tcp流的
第一个tcp syn报文并建立tcp流表,该tcp流表中记录了对应tcp流中首个上行tcp syn报文的流信息标识。
49.在部分实施例中,在tcp流表建立后,检测装置可以根据tcp fin报文和/或tcp rst报文来触发释放相应的tcp流表记录,和/或根据预置适当的超时时间来释放相应的tcp流表记录,以支持tcp流表资源的动态老化机制。
50.步骤s102:根据所述tcp流表获取所述上行tcp syn报文对应的解码信息和tcp时间戳值。
51.每个上行tcp syn报文中的首部扩展选项均包括了解码信息和tcp时间戳值。
52.每个流的非首个上行tcp syn报文所携带的tcp选项参数可能会变化,不能代表终端系统的默认信息。因此,在tcp流表建立完成后,利用tcp流表检测接收到的上行tcp syn报文是否为对应tcp流中的首个上行tcp syn报文,当接收到的上行tcp syn报文为对应tcp流中的首个上行tcp syn报文时,对该上行tcp syn报文进行解析。否则,舍弃对该上行tcp syn报文的解析。
53.其中,利用tcp流表检测接收到的上行tcp syn报文是否为对应tcp流中的首个上行tcp syn报文,包括:
54.获取上行tcp syn报文的报文信息,其中,报文信息包括用户ip地址、网络ip地址、用户tcp端口及网络tcp端口。
55.将获取到的报文信息与tcp流表中记录的流信息标识对比,从而获知tcp流表中是否已经记录有所获取的上行tcp syn报文信息;
56.当tcp流表未记录有所获取的上行tcp syn报文对应的报文信息时,表明获取的上行tcp syn报文为对应tcp流的首个上行tcp syn报文,则将所获取的上行tcp syn报文记录在tcp流表中,并对该上行tcp syn报文进行解析,以获取对应的解码信息和tcp时间戳值;
57.当tcp流表中记录有所获取的上行tcp syn报文信息时,表明获取的上行tcp syn报文不是对应tcp流的首个上行tcp syn报文,则将所获取的上行tcp syn报文舍弃。
58.也即仅对每条tcp流的首个上行tcp syn报文进行解析,获取对应每个上行tcp syn报文对应的解码信息和tcp时间戳值,其中,解码信息包括ipv4的ttl字段值或ipv6的hoplimit字段值中任一者及tcp窗口字段值、tcp头部选项字段中的窗口扩大选项值及tcp头部选项字段中的首部最大分段尺寸值中至少一者。
59.示例性地,检测装置对tcp流表内所记录的上行tcp syn报文进行解析以获取对应的解码信息。
60.例如,检测装置提取ipv4的ttl字段值或ipv6的hoplimit字段值中任一者,作为解码信息。对于终端设备所安装的系统为ios系统时,ttl/hoplimit通常可能是64或63等;对于终端设备所安装的系统为android系统,ttl/hoplimit通常可能是64、63、128或127等中任一者;对于windows系统,ttl/hoplimit通常可能是255、254、128、127等中任一者。
61.在部分实施例中,检测装置还提取tcp窗口字段值作为解码信息,即tcp window字段值,简称winsize。其中,winsize可能为65535、64240、14600、8192等中任一者。
62.在部分实施例中,检测装置提取tcp头部选项字段中的窗口扩大选项值作为解码信息,即tcp options中的wsopt(tcp window scale option)选项值,简称scale,其中,scale可能为0、1、2、3、4、5、6、7、8、9、10、11、12、14等中任一者。
63.在部分实施例中,检测装置提取tcp头部选项字段中的首部最大分段尺寸值作为解码信息,tcp options中的mss(maximum segment size)选项值,简称mss,其中,mss可能为1460、1360、1260、1408、1452、0等中任一者,0表示解码提取发现不存在mss选项,或存在mss选项但其值为0。
64.同时,检测装置还提取上行tcp syn报文中对应的tcp时间戳值,即tcp options中的tsopt(tcp timestamps option)选项值,简称,tsval。其中,tsval可能是0到4294967295之间的任意值。
65.步骤s103:根据所述解码信息对接收到的所述上行tcp syn报文进行分组。
66.当解析出上行tcp syn报文对应的解码信息和tcp时间戳值后,根据解码信息对在预设周期内所接收到的上行tcp syn报文进行分组。若预设周期内接收到终端设备n个上行tcp syn报文,则利用该n个上行tcp syn报文对应的n个解码信息对该n个上行tcp syn报文进行分组,将符合预设条件的上行tcp syn报文放置到相同一组中。
67.示例性地,检测装置以解码信息中的ipv4的ttl字段值或ipv6的hoplimit字段值中任一者及tcp窗口字段值、tcp头部选项字段中的窗口扩大选项值及tcp头部选项字段中的首部最大分段尺寸值中至少一者按照预设顺序组合形成分组索引,并以该分组索引对上行tcp syn报文进行分组。
68.例如,分组索引设定可以设定为:“ttl_winsize_scale_mss”或“ttl_winsize_scale”或“winsize_scale”。
69.本实施方式中,以分组索引为“ttl_winsize_scale_mss”进行举例说明。
70.检测装置t1时间接收到终端设备上报的第一个上行tcp syn报文对应的解码信息和tcp时间戳值分别为,ttl=64、winsize=65535、scale=8、mss=1460、tsval=10000,则上行tcp syn报文分组新建索引为“64_65535_8_1460”的组,将t1和tsval=10000归入该组以进一步检测。
71.检测装置t2时间接收到终端设备上报的第二个上行tcp syn报文对应的解码信息和tcp时间戳值分别为,ttl=64、winsize=65535、scale=8、mss=1460、tsval=12000,则定位到上行tcp syn报文分组的已有索引“64_65535_8_1460”的组,将t2和tsval=12000归入该组以进一步检测。
72.检测装置t3时间接收到终端设备上报的第三个上行tcp syn报文对应的解码信息和tcp时间戳值分别为,tttl=63、winsize=65535、scale=9、mss=1460、tsval=66666,则上行tcp syn报文分组新建索引为“63_65535_9_1460”的组,将t3和tsval=66666归入该组以进一步检测。
73.此时,该终端设备的上行tcp syn报文分组表中存在2个组,其分别为“64_65535_8_1460”、“63_65535_9_1460”。其中“63_65535_9_1460”组包含1对数据t3和tsval=66666;“64_65535_8_1460”组含有2对数据t1和tsval=10000、t2和tsval=12000。
74.步骤s104:获取每一组所述上行tcp syn报文的分类信息,其中,所述分类信息表征每一组上行tcp syn报文根据对应的所述tcp时间戳值进行分类的分类结果。
75.示例性地,分类信息表征每一组上行tcp syn报文根据对应的所述tcp时间戳值进行分类的分类结果,获取针对每一组上行tcpsyn报文的分类结果,从而获知每一组上行tcp syn报文对应的tcp时间戳值序列为随机tcp时间戳值序列或非随机tcp时间戳值序列。
76.请参阅图4,图4为上行tcp syn报文的分类信息获取步骤流程示意图。
77.如图4所示,在部分实施例中,所述获取每一组所述上行tcp syn报文的分类信息,包括:
78.步骤s1041:判断每一组所述上行tcp syn报文对应的tcp时间戳值序列为随机tcp时间戳值序列或非随机tcp时间戳值序列;
79.步骤s1042:当该组所述上行tcp syn报文对应的所述tcp时间戳值序列为随机tcp时间戳值序列时,该组所述上行tcp syn报文归类为随机tcp syn报文组;
80.步骤s1043:当该组所述上行tcp syn报文对应的所述tcp时间戳值序列为非随机tcp时间戳值序列时,该组所述上行tcp syn报文归类为非随机tcp syn报文组。
81.其中,所述判断每一组所述上行tcp syn报文对应的tcp时间戳值序列为随机tcp时间戳值序列或非随机tcp时间戳值序列,包括:
82.判断每一组所述上行tcp syn报文对应的所述tcp时间戳值序列中相邻tcp时间戳值子序列的标准差是否小于预设值;
83.当所述标准差小于所述预设值时,判断该组对应的所述上行tcp syn报文对应的tcp时间戳值序列为非随机tcp时间戳值序列;
84.当所述标准差大于或等于所述预设值时,判断该组对应的所述上行tcp syn报文对应的tcp时间戳值序列为随机tcp时间戳值序列。
85.示例性地,每一组上行tcp syn报文中包括了多个上行tcp syn报文,每个上行tcp syn报文对应有一个tcp时间戳值,提取每一组上行tcp syn报文中每个上行tcp syn报文对应的tcp时间戳值,从而一组上行tcp syn报文可以获取一个tcp时间戳值序列,通过判断该tcp时间戳值序列的随机性从而可以判断出当前组tcp syn报文为非随机tcp syn报文组或随机tcp syn报文组。
86.具体地,在一组上行tcp syn报文对应的tcp时间戳值序列中,拆分成若干个tcp时间戳值子序列,并计算相邻tcp时间戳值子序列的标准差是否小于预设值,当相邻tcp时间戳值子序列的标准差小于预设值时,则认为tcp时间戳值不存在随机性,即tcp时间戳值序列为非随机tc时间戳值序列,则该非随机tcp时间戳值序列对应的该组上行tcp syn报文归为非随机tcp syn报文组。
87.当相邻tcp时间戳值子序列的标准差大于或等于预设值时,则认为tcp时间戳值存在随机性,即tcp时间戳值序列为随机tcp时间戳值序列,则该随机tcp时间戳值序列对应的该组上行tcp syn报文归为随机tcp syn报文组。
88.例如,任何一个上行tcp syn报文均包括tcp时间戳值,即tsval,tsval取值范围为[0,4294967295]。将tsval的取值分为m分段,每个分段对应的数值大小为b=4294967295/m,任何一个tcp时间戳值tsval,将被归入到这m个分段中的某一个分段。
[0089]
若b=2*108,则m=215,即第一个分段取值为[0,2*108],第二个分段为[2*108,4*108],第三个分段为[4*108,6*108]以此类推,其中,tcp时间戳值对应的值即是落在其中的某一个分段中。
[0090]
以对一组上行tcp syn报文的tcp时间戳值序列随机性判断为例进行说明。
[0091]
在某一组上行tcp syn报文中,当t1时间接收到的上行tcp syn报文的tcp时间戳值落在第一个分段中时,第一个分段计数1。当统计预设周期内接收到的上行tcp syn报文
的tcp时间戳值,有x个落在第一个分段中时,第一个分段计数为x。
[0092]
当t1时间中若将tsval的取值分为m分段,则m个分段中每个分段对应的tcp时间戳值统计值,分别记为x1、x2、x3…
x
m-1
、xm,形成序列xm=[x1、x2、x3…
x
m-1
、xm]。
[0093]
预设周期包括q个单位时间,则,将序列xm拆分成q-1个子序列,并计算每个子序列标准差std。其中,每个子序列包括至少两个相邻的tcp时间戳值统计值,且子序列中tcp时间戳值统计值的数量呈等差递增。如,子序列1为[x1,x2],子序列2为[x1,x2,x3],子序列3为[x1,x2,x3,x4]

子序列q-1为[x1,x2,x3…
x
m-1
,xm]。
[0094]
计算q-1个子序列中,每个子序列的标准差std,得到q-1个标准差,即std1、std2、std3…
std
q-1
。预设标准差阈值为常数c,则这q-1个标准差中,只要存在一个标准差大于或等于预设标准差阈值c,则认为该组上行tcp syn报文存在tcp时间戳值随机化现象,对应的tcp时间戳值为随机tcp时间戳值,对应的所述上行tcp syn报文归为随机上行tcp syn报文组。反之认为该组上行tcp syn报文不存在tcp时间戳值随机化现象,对应的tcp时间戳值为非随机tcp时间戳值,对应的所述上行tcp syn报文归为非随机上行tcp syn报文组。
[0095]
步骤s105:根据分类信息判断所述终端设备是否存在共享上网行为。
[0096]
根据所接收到的上行tcp syn报文的分类信息获知上行tcp syn报文形成的一个或多个组都是非随机tcp syn报文组、都是随机tcp syn报文组、同时存在非随机tcp syn报文组与非随机tcp syn报文组,从而可以判断出终端设备是否存在上网行为。
[0097]
在部分实施例中,所述根据分类信息判断所述终端设备是否存在共享上网行为,包括:
[0098]
当在预设周期内所接收到的所述上行tcp syn报文中包括了非随机tcp syn报文组和随机tcp syn报文组,则判断所述终端设备存在共享上网行为。
[0099]
示例性地,若检测装置接收到终端设备在预设周期内上报的多个上行tcp syn报文中,若多个上行tcp syn报文包括了随机上行tcp syn报文组和非随机上行tcp syn报文组,则表明终端设备在通过热点进行上网分享,即存在共享上网行为。
[0100]
在部分实施例中,当在预设周期内所接收到的所述上行tcp syn报文中仅包括随机tcp syn报文组,则忽略所述终端设备是否存在共享上网行为的判断,从而避免误检测。
[0101]
在部分实施例中,在步骤根据分类信息判断所述终端设备是否存在共享上网行为之后,所述方法还包括:
[0102]
当所述终端设备存在共享上网行为时,根据所述共享上网行为生成对应的反馈。
[0103]
示例性地,根据所述共享上网行为对作为无线热点的终端设备执行预设的控制处理。
[0104]
如,预设的控制处理包括临时限制终端设备的网速,或对该终端设备的共享上网流量进行监测。
[0105]
请参阅图5,图5为本发明实施例提供的一种检测装置300的结构示意性框图。
[0106]
如图5所示,检测装置300包括处理器301和存储器302,处理器301和存储器302通过总线303连接,该总线比如为i2c(inter-integrated circuit)总线。
[0107]
具体地,处理器301用于提供计算和控制能力,支撑整个检测装置的运行。处理器301可以是中央处理单元(central processing unit,cpu),该处理器301还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路
(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0108]
存储器302可以是flash芯片、只读存储器(rom,read-only memory)磁盘、光盘、u盘或移动硬盘等。
[0109]
其中,所述处理器301用于运行存储在存储器302中的计算机程序,并在执行所述计算机程序时实现如下步骤:
[0110]
根据终端设备发送的上行tcp syn报文建立tcp流表,所述tcp流表记录有多个流信息标识,每一所述流信息标识用于表征对应的上行tcp syn报文;
[0111]
根据所述tcp流表获取所述上行tcp syn报文对应的解码信息和tcp时间戳值;
[0112]
根据所述解码信息对接收到的所述上行tcp syn报文进行分组;
[0113]
获取每一组所述上行tcp syn报文的分类信息,其中,所述分类信息表征每一组上行tcp syn报文根据对应的所述tcp时间戳值进行分类的分类结果;
[0114]
根据分类信息判断所述终端设备是否存在共享上网行为。
[0115]
在部分实施例中,处理器301根据终端设备发送的上行tcp syn报文建立tcp流表,具体包括:
[0116]
获取来自同一用户ip地址的所述终端设备所发送的报文数据;
[0117]
从所述报文数据中获取上行tcp syn报文;
[0118]
从所述上行tcp syn报文中筛选符合预设条件的上行tcp syn报文建立tcp流表。
[0119]
在部分实施例中,所述流信息标识包括用户ip地址、网络ip地址、用户tcp端口及网络tcp端口。
[0120]
在部分实施例中,所述解码信息包括ipv4的ttl字段值或ipv6的hoplimit字段值中任一者及tcp窗口字段值、tcp头部选项字段中的窗口扩大选项值及tcp头部选项字段中的首部最大分段尺寸值中至少一者。
[0121]
在部分实施例中,处理器301获取每一组所述上行tcp syn报文的分类信息,具体包括:
[0122]
判断每一组所述上行tcp syn报文对应的tcp时间戳值序列为随机tcp时间戳值序列或非随机tcp时间戳值序列;
[0123]
当该组所述上行tcp syn报文对应的所述tcp时间戳值序列为随机tcp时间戳值序列时,该组所述上行tcp syn报文归类为随机tcp syn报文组;
[0124]
当该组所述上行tcp syn报文对应的所述tcp时间戳值序列为非随机tcp时间戳值序列时,该组所述上行tcp syn报文归类为非随机tcp syn报文组。
[0125]
在部分实施例中,处理器301判断每一组所述上行tcp syn报文对应的tcp时间戳值序列为随机tcp时间戳值序列或非随机tcp时间戳值序列时,具体包括:
[0126]
判断每一组所述上行tcp syn报文对应的所述tcp时间戳值序列中相邻tcp时间戳值子序列的标准差是否小于预设值;
[0127]
当所述标准差小于所述预设值时,判断该组对应的所述上行tcp syn报文对应的tcp时间戳值序列为非随机tcp时间戳值序列;
[0128]
当所述标准差大于或等于所述预设值时,判断该组对应的所述上行tcp syn报文对应的tcp时间戳值序列为随机tcp时间戳值序列。
[0129]
在部分实施例中,处理器301根据分类信息判断所述终端设备是否存在共享上网行为时,具体包括:
[0130]
当在预设周期内所接收到的所述上行tcp syn报文中包括了非随机tcp syn报文组和随机tcp syn报文组,则判断所述终端设备存在共享上网行为。
[0131]
在部分实施例中,处理器301还用于执行如下步骤:
[0132]
当所述终端设备存在共享上网行为时,根据所述共享上网行为生成对应的反馈。
[0133]
本发明实施例还提供一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如本发明实施例说明书提供的任一项共享上网检测方法的步骤。
[0134]
其中,所述存储介质可以是前述实施例所述的检测装置的内部存储单元,例如所述检测装置的硬盘或内存。所述存储介质也可以是所述检测装置的外部存储设备,例如所述检测装置上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
[0135]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施例中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0136]
应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0137]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本发明的具体实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在
本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1