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

文档序号:14411288阅读:413来源:国知局
一种移动网络中共享上网检测的方法及装置与流程

本发明涉及通信技术领域,特别是涉及一种移动网络中共享上网检测的方法及装置。



背景技术:

现在大多数移动终端,通常都具备无线热点功能,可以方便的与移动网络连接,共享给其它终端设备一起使用。比如:某运营商与某品牌终端厂商合作,推广该品牌终端的无限流量上网套餐,那么,用户在使用该品牌终端该套餐时,如果启用无线热点功能将移动网络共享给其它终端设备一起使用,则将会占用比正常更多的该运营商的带宽资源,让运营商付出更多的运营成本。同时,共享上网也意味着并发流资源的增多,这也会增加运营商在路由器、网关、防火墙等相关设备上的投资。



技术实现要素:

本发明提供了一种移动网络中共享上网检测的方法及装置,以解决现有技术中终端共享上网占用运营商较多带宽资源的问题。

本发明一方面提供了一种移动网络中共享上网检测的方法,该方法包括:接收终端发出的上行传输控制协议同步tcpsyn报文;根据所述传输控制协议同步报文判断是否是多终端共享上网,如果是,则对作为无线热点的终端进行控制处理。

进一步地,根据所述传输控制协议同步报文判断是否是多终端共享上网,具体包括:根据来自同一用户ip地址的首个tcpsyn报文判断是否是多终端共享上网。

进一步地,该方法还包括:根据来自同一用户ip地址的首个tcpsyn报文建立tcp流表,所述tcp流表内记录有用户ip地址、网络ip地址、用户tcp端口和网络tcp端口;

根据所述传输控制协议同步报文判断是否是多终端共享上网,具体包括:

根据首次建立tcp流表的传输控制协议同步报文判断是否是多终端共享上网。

进一步地,根据所述传输控制协议同步报文判断是否是多终端共享上网,具体包括:

根据所述传输控制协议同步报文的解码信息判断是否是多终端共享上网;

所述解码信息包以下信息中的一种或多种:互联网协议的生存时间ttl字段或跳数限制hoplimit字段、传输控制协议tcp首部长度、传输控制协议tcp的首部扩展选项信息options和扩展选项类型序列option-kind、传输控制协议tcp的首部扩展选项信息options的首部最大分段尺寸mss选项值、传输控制协议tcp的首部扩展选项信息options的窗口缩放选项值wsopt、传输控制协议tcp的首部扩展选项信息options的选择性响应sack-permitted选项值。

进一步地,根据所述传输控制协议同步报文的解码信息判断是否是多终端共享上网,具体包括:根据所述解码信息建立用户设备指纹索引表,并根据所述用户设备指纹索引表判断是否是多终端共享上网。

进一步地,该方法还包括:对所述用户设备指纹索引表进行定时更新。

本发明另一方面提供了一种移动网络中共享上网检测的装置,该装置包括:接收单元,用于接收终端发出的上行传输控制协议同步tcpsyn报文;判断单元,用于根据所述传输控制协议同步报文判断是否是多终端共享上网,如果是,则对作为无线热点的终端进行控制处理。

进一步地,所述判断单元还用于,根据来自同一用户ip地址的首个tcpsyn报文判断是否是多终端共享上网,如果是,则对作为无线热点的终端进行控制处理。

进一步地,该装置还包括:第一建表单元;

所述第一建表单元,用于根据来自同一用户ip地址的首个tcpsyn报文建立tcp流表,所述tcp流表内记录有用户ip地址、网络ip地址、用户tcp端口和网络tcp端口;

所述判断单元还用于,根据首次建立tcp流表的tcpsyn报文判断是否是多终端共享上网,如果是,则对作为无线热点的终端进行控制处理。

进一步地,所述判断单元还用于,根据所述传输控制协议同步报文的解码信息判断是否是多终端共享上网;所述解码信息包以下信息中的一种或多种:互联网协议的生存时间ttl字段或跳数限制hoplimit字段、传输控制协议tcp首部长度、传输控制协议tcp的首部扩展选项信息options和扩展选项类型序列option-kind、传输控制协议tcp的首部扩展选项信息options的首部最大分段尺寸mss选项值、传输控制协议tcp的首部扩展选项信息options的窗口缩放选项值wsopt、传输控制协议tcp的首部扩展选项信息options的选择性响应sack-permitted选项值。

进一步地,该装置还包括:第二建表单元;

所述第二建表单元,用于根据所述解码信息建立用户设备指纹索引表,并根据所述用户设备指纹索引表判断是否是多终端共享上网。

进一步地,所述第二建表单元还用于,对所述用户设备指纹索引表进行定时更新。

本发明有益效果如下:

本发明通过对终端发出的上行传输控制协议同步tcpsyn报文进行检测,判断是否多终端共享上网,并在确定存在多终端共享上网后,对作为无线热点的终端进行控制处理,从而解决了终端共享上网占用运营商较多带宽资源的问题,并且本发明的方法简单,不需要对上行流量逐包检测,也不依赖于应用层明文特征,可应用到所有移动网络的共享上网检测上。

附图说明

图1是本发明实施例的一种移动网络中共享上网检测的方法的流程示意图;

图2是本发明实施例的另一种移动网络中共享上网检测的方法的流程示意图;

图3是本发明实施例的一种移动网络中共享上网检测的装置的结构示意图。

具体实施方式

为了解决现有技术中终端共享上网占用运营商较多带宽资源的问题。本发明提供了一种移动网络中共享上网检测的方法及装置,本发明通过对终端发出的上行传输控制协议同步(transmissioncontrolprotocolsynchronization,tcpsyn)报文进行检测,判断是否多终端共享上网,并在确定存在多终端共享上网后,对作为无线热点的终端进行控制处理,从而减少共享上网对运营商的带宽资源消耗,并节约了运营商的运营成本。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

方法实施例

本发明实施例提供了一种移动网络中共享上网检测的方法,参见图1,该方法包括:

s101、接收终端发出的上行传输控制协议同步tcpsyn报文;

s102、根据所述tcpsyn报文判断是否是多终端共享上网,如果是,则进入下一步;

s103、对作为无线热点的终端进行控制处理。

也就是说,本发明通过对终端发出的上行传输控制协议同步tcpsyn报文进行检测,判断是否多终端共享上网,并在确定存在多终端共享上网后,对作为无线热点的终端进行控制处理,从而减少共享上网对运营商的带宽资源消耗,并节约了运营商的运营成本。

需要说明的是,本发明不需要对上行流量逐包检测,也不依赖于应用层明文特征,仅通过对tcpsyn报文进行检测,即可判断移动网络中是否存在多终端共享上网,所以本发明的方法更简单,检测结果更准确,可应用到所有移动网络的共享上网检测上。

具体实施时,本发明实施例所述步骤s102具体包括:根据来自同一用户ip地址的首个tcpsyn报文判断是否是多终端共享上网。

即,本发明对传输控制协议同步报文进行解析,并仅根据首次检测到的终端用户地址的传输控制协议同步报文判断是否是多终端共享上网。

具体来说,本发明通过对终端用户地址进行监控,仅对预定时间段内的首次检测到的终端用户地址的传输控制协议同步报文判断是否是多终端共享上网。

需要说明的是,本发明所述预定时间段可根据实际情况进行任意设置。

具体实施时,本发明实施例通过根据来自同一用户ip地址的首个tcpsyn报文建立tcp流表,所述tcp流表内记录有用户ip地址、网络ip地址、用户tcp端口和网络tcp端口,并根据首次建立tcp流表的传输控制协议同步报文判断是否是多终端共享上网。

也就是说,本发明是先根据同一用户的首个tcpsyn报文建立tcp流表,并根据首次建立tcp流表的tcpsyn报文判断是否是多终端共享上网。

即,在不存在用户地址冲突的条件下,本发明根据tcpsyn报文建立以用户ip地址、网络ip地址、用户tcp端口、网络tcp端口这四元组为索引的tcp流表,并仅对首次建立流表的tcpsyn报文进行检测。

具体来说,本发明实施例是对tcpsyn报文的解码信息判断是否是多终端共享上网,其中,所述解码信息包以下信息中的一种或多种:互联网协议的生存时间ttl字段或跳数限制hoplimit字段、传输控制协议tcp首部长度、传输控制协议tcp的首部扩展选项信息options和扩展选项类型序列option-kind、传输控制协议tcp的首部扩展选项信息options的首部最大分段尺寸mss选项值、传输控制协议tcp的首部扩展选项信息options的窗口缩放选项值mss、传输控制协议tcp的首部扩展选项信息options的选择性响应值sack-permitted。

具体实施时,本发明实施例是根据所述解码信息建立用户设备指纹索引表,并根据所述用户设备指纹索引表判断是否是多终端共享上网。

并且,为了增加共享上网检测能力的时效性,本发明是对用户设备指纹索引表进行定时更新。

例如,可以根据适当的时长,周期性清空该索引表,或者释放相应的已超时的表项记录,等等。

具体实施时,本发明对每个符合前述条件的tcpsyn报文的ip首部及tcp首部进行解码,提取如下六种可选信息中的全部或多种或至少一种:

(1)提取互联网协议的第四版(internetprotocol,ipv4)的生存时间(timetolive,ttl)字段,或者互联网协议的第六版(internetprotocol,ipv6)的跳数限制hoplimit字段;

(2)提取tcp的tcp数据部分偏移长度dataoffset字段,从而获得tcp首部(含tcp选项)长度;

(3)获取tcp是否含有tcp首部扩展选项部分options选项信息,同时获取options中所有tcp扩展选项类型option-kind序列;

(4)对每个符合前述条件的tcpsyn报文的tcp首部进行解码,获取tcp首部扩展选项部分tcpoptions中的最大分段尺寸(maximumsegmentsize,mss)选项值;

(5)对每个符合前述条件的tcpsyn报文的tcp首部进行解码,获取tcpoptions中的窗口缩放选项值(windowscaleoption,wsopt)选项值;

(6)对每个符合前述条件的tcpsyn报文的tcp首部进行解码,获取tcpoptions中的选择性响应sack-permitted选项值。

将获取的tcpsyn报文的ip首部、tcp首部的各选项字段信息,组合成设备指纹序列,并以该序列为索引,建立用户设备指纹索引表。

将用户设备指纹索引表中的表项记录的数量,作为该时段内该用户共享上网设备数量,或作为该时段内该用户共享上网行为的依据。

本发明实施例所述步骤s203具体包括:

对作为无线热点的终端进行连接的终端的数量、消耗的流量以及使用的流量时间等进行控制处理。

图2是本发明实施例的另一种移动网络中共享上网检测的方法的流程示意图,下面将结合图2对本发明所述的方法进行详细的解释和说明:

s201、对用户发起的上行tcpsyn报文进行检测,不需要对其它类型报文进行检测;

具体地,首先根据报文方向进行检测,明确仅需要对用户发起的上行报文进行处理。还会检测tcp首部标志位flags字段的各个比特位,明确仅需要对符合以下比特位的tcp报文进行处理:完成标志位(finish,fin)位为0,同步标志位(synchronization,syn)syn位为1,复位标志位(reset,rst)rst位为0,推送标志位(push,psh)psh位为0,响应标志位(acknowledge,ack)位为0,紧急标志位(urgent,urg)位为0。

s202、对tcpsyn报文建立tcp流表,在不存在用户地址冲突的条件下,建立以用户ip地址、网络ip地址、用户tcp端口、网络tcp端口这四元组为索引的tcp流表。仅对首次建立流表的tcpsyn报文进行检测。

对该tcp流表进行动态管理,可根据tcpfin或tcprst来释放相应的流表记录,也可根据预置的超时时间释放相应的流表记录。

该tcp流表存在的目的,用于为提供一种过滤机制,保证仅对首次建立流表的tcpsyn报文进行检测。这是因为,对于同一个tcp流的非首次建立流表的tcpsyn报文,对于后续中提取的设备指纹序列,可能会与首次建立流表的tcpsyn报文不同,如果对于这些非首次建立流表的tcpsyn报文也纳入设备指纹索引表的话,则可能会产生误识别问题,因此,本发明仅对首次建立流表的tcpsyn报文进行检测。

s203、对tcpsyn报文的ip首部及tcp首部进行解码,提取如下六种可选信息中的全部或多种或至少一种:

(1)对每个符合前述条件的tcpsyn报文的ip首部进行解码,提取ipv4的生存时间ttl字段,或者ipv6的跳数限制hoplimit字段。

例如,对于网络配置系统(internetworkingoperatingsystem-cisco,ios),生存时间ttl或跳数限制hoplimit可能是64、63等。对于android,ttl或hoplimit可能是128、127等,还有一些的ttl或hoplimit可能为32、31、69、68、255、254等等。

(2)对每个符合前述条件的tcpsyn报文的tcp首部进行解码,提取tcp的dataoffset字段,从而获得tcp首部(含tcp选项)长度,即为tcp首部长度(tcpheaderlength,thl)。

例如,根据tcpoptions的存在与否,以及tcpoptions包含的选项情况,thl取值可能为20、24、28、32、36、40、44、48、52、56、60等等。

(3)对每个符合前述条件的tcpsyn报文的tcp首部进行解码,获取tcp是否含有options选项信息,同时获取options中所有tcp扩展选项类型option-kind序列。

例如,option-kind序列可能为1-020103010104、1-0201030408、1-02010104、1-020408、1-020103010108010104、0-、1-020103040101010108等等。这里破折号前边取值为1或0,1表示该tcpsyn报文存在options选项,0表示不存在options选项。破折号后边的序列表示options选项中的option-kind序列,如01表示nop,02表示mss,03表示wsopt,04表示sack-permitted,08表示时间戳选项(timestamp,tsopt)等等。

(4)对每个符合前述条件的tcpsyn报文的tcp首部进行解码,获取tcpoptions中的最大分段尺寸mss选项值。

例如,mss可能为1-1460、1-1360、1-1260、1-1408、1-472、1-1452、0-0等等。这里破折号前边取值1或0,1表示该tcpsyn报文存在mss选项,0表示不存在mss选项。破折号后边的取值表示mss值。

(5)对每个符合前述条件的tcpsyn报文的tcp首部进行解码,获取tcpoptions中的窗口尺寸选项wsopt选项值。

例如,wsopt可能为0-0、1-0、1-1、1-2、1-3、1-4、1-5、1-6、1-7、1-8、1-9、1-10、1-11、1-12、1-14等等。这里破折号前边取值1或0,1表示该tcpsyn报文存在wsopt选项,0表示不存在wsopt选项。破折号后边的取值表示wsopt的变换倍数(shiftcount,shift.cnt)值。

(6)对每个符合前述条件的tcpsyn报文的tcp首部进行解码,获取tcpoptions中的选择性响应sack-permitted选项值。

例如,sack-permitted选项值可能为1或者0。

s204、将从获取的tcpsyn报文的ip首部、tcp首部的可能的六种选项字段信息,对其全部或多种或至少一种,组合成设备指纹序列,并以该序列为索引,建立用户设备指纹索引表。

对于这六种信息,不同的终端可能各不相同,也可能其中某几种相同而其它几种不同。对于这六种信息的组合,不同的终端的差异性可能更加明显,典型地,对于某些典型移动网络的历史采样数据进行分析,可能找到数千种不同的信息组合。以这六种信息的组合作为设备指纹序列,可以在一定程度上区分出不同的终端,从而达到检测用户共享上网行为和/或数量的目的。

s205、将用户设备指纹索引表中的表项记录的数量,作为该时段内该用户共享上网设备数量,或作为该时段内该用户共享上网行为的依据。

为了增加共享上网检测能力的时效性,用户设备指纹索引表中的表项记录,不应该长期持久存在。可以根据适当的时长,周期性清空该索引表,或者释放相应的已超时的表项记录。

与现有技术相比,本发明不需要对上行流量逐包检测、不依赖于应用层明文特征、对所有全部移动网络均有效,是一种轻量级通用的共享上网检测方法。

装置实施例

本发明实施例提供了一种移动网络中共享上网检测的装置,参见图3,该装置包括:接收单元,用于接收终端发出的上行传输控制协议同步tcpsyn报文;判断单元,用于根据所述传输控制协议同步报文判断是否是多终端共享上网,如果是,则对作为无线热点的终端进行控制处理。

也就是说,本发明通过对终端发出的上行传输控制协议同步tcpsyn报文进行检测,判断是否多终端共享上网,并在确定存在多终端共享上网后,对作为无线热点的终端进行控制处理,从而减少共享上网对运营商的带宽资源消耗,并节约了运营商的运营成本。

需要说明的是,本发明不需要对上行流量逐包检测,也不依赖于应用层明文特征,仅通过对tcpsyn报文进行检测,即可判断移动网络中是否存在多终端共享上网,所以本发明的方法更简单,检测结果更准确,可应用到所有移动网络的共享上网检测上。

进一步地,本发明实施例所述判断单元还用于,根据来自同一用户ip地址的首个tcpsyn报文判断是否是多终端共享上网,如果是,则对作为无线热点的终端进行控制处理。

具体的本发明是通过所述第一建表单元根据来自同一用户ip地址的首个tcpsyn报文建立tcp流表,所述tcp流表内记录有用户ip地址、网络ip地址、用户tcp端口和网络tcp端口;并通过所述判断单元根据首次建立tcp流表的传输控制协议同步报文判断是否是多终端共享上网,如果是,则对作为无线热点的终端进行控制处理。

即,本发明通过对终端用户地址进行监控,仅对预定时间段内的首次检测到的终端用户地址的传输控制协议同步报文判断是否是多终端共享上网。

进一步地,本发明的所述判断单元是根据所述传输控制协议同步报文的解码信息判断是否是多终端共享上网;所述解码信息包以下信息中的一种或多种:互联网协议的生存时间ttl字段或跳数限制hoplimit字段、传输控制协议tcp首部长度、传输控制协议tcp的首部扩展选项信息options和扩展选项类型序列option-kind、传输控制协议tcp的首部扩展选项信息options的首部最大分段尺寸mss选项值、传输控制协议tcp的首部扩展选项信息options的窗口缩放选项值wsopt、传输控制协议tcp的首部扩展选项信息options的选择性响应sack-permitted选项值。

具体实施时,本发明实施例可设置一个ip及tcp首部解码模块。通过该模块对用户发起的上行tcpsyn报文进行检测,不需要对其它类型报文进行检测。该模块还负责对符合条件的tcpsyn的ip首部进行解码,提取ipv4的ttl字段,或者ipv6的hoplimit字段,并提取tcp的dataoffset字段,从而获得tcp首部(含tcp选项)长度,即thl,以及获取tcp是否含有options选项信息,同时获取options中所有option-kind序列,获取tcpoptions中的mss选项值,获取tcpoptions中的wsopt选项值,以及解码并获取tcpoptions中的sack-permitted选项值。

具体实施时,本发明是通过第二建表单元根据所述解码信息建立用户设备指纹索引表,并根据所述用户设备指纹索引表判断是否是多终端共享上网。

并且,本发明的第二建表单元还对所述用户设备指纹索引表进行定时更新。

具体实施时,本发明对每个符合前述条件的tcpsyn报文的ip首部及tcp首部进行解码,提取如下六种可选信息中的全部或多种或至少一种:

(1)提取互联网协议的第四版(internetprotocol,ipv4)的生存时间(timetolive,ttl)字段,或者互联网协议的第六版(internetprotocol,ipv6)的跳数限制hoplimit字段;

(2)提取tcp的tcp数据部分偏移长度dataoffset字段,从而获得tcp首部(含tcp选项)长度;

(3)获取tcp是否含有tcp首部扩展选项部分options选项信息,同时获取options中所有tcp扩展选项类型option-kind序列;

(4)对每个符合前述条件的tcpsyn报文的tcp首部进行解码,获取tcp首部扩展选项部分tcpoptions中的最大分段尺寸(maximumsegmentsize,mss)选项值;

(5)对每个符合前述条件的tcpsyn报文的tcp首部进行解码,获取tcpoptions中的窗口缩放选项值(windowscaleoption,wsopt)选项值;

(6)对每个符合前述条件的tcpsyn报文的tcp首部进行解码,获取tcpoptions中的选择性响应sack-permitted选项值。

将获取的tcpsyn报文的ip首部、tcp首部的各选项字段信息,组合成设备指纹序列,并以该序列为索引,建立用户设备指纹索引表。

将用户设备指纹索引表中的表项记录的数量,作为该时段内该用户共享上网设备数量,或作为该时段内该用户共享上网行为的依据。

本发明实施例所述判断单元还对作为无线热点的终端进行连接的终端的数量、消耗的流量以及使用的流量时间等进行控制处理。

本发明实施例中的相关内容可参照方法实施例部分进行理解,在此不再赘述。

本发明至少可以达到以下的有益效果:

本发明通过对终端发出的上行传输控制协议同步tcpsyn报文进行检测,判断是否多终端共享上网,并在确定存在多终端共享上网后,对作为无线热点的终端进行控制处理,从而减少共享上网对运营商的带宽资源消耗,并节约了运营商的运营成本。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

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