一种终端设备类型的识别方法、系统、设备及介质与流程

文档序号:17693890发布日期:2019-05-17 21:18阅读:142来源:国知局
一种终端设备类型的识别方法、系统、设备及介质与流程

本发明涉及网络通信技术领域,尤其涉及一种终端设备类型的识别方法、系统、设备及介质。



背景技术:

随着通信以及电子的发展,为了能便捷的办公上网,各种移动终端都通过无线接入到互联网。接入网络的终端各异,这给网络管理带来了不便,为了对接入的终端设备进行区分管控,需要识别到上网终端设备的设备类型,根据终端设备的类型的不同实施对应的策略,从而实现网络管控。现有技术中,通过上网终端设备的user-agent中的信息识别终端设备的设备类型,但是user-agent不是标准协议,有一些设备可能会提供非标准的user-agent,容易造成误识别,因此user-agent检测容易造成误判,准确度不高。



技术实现要素:

(一)要解决的技术问题

本发明提供了一种终端设备类型的识别方法、系统、设备及介质,至少解决以上技术问题。

(二)技术方案

一方面,本发明提供了一种终端设备类型的识别方法,方法包括:s1,获取tcp流中的sync数据包;s2,提取sync数据包中的option选项,根据option选项的内容特征识别终端类型,生成第一识别结果;s3.判断tcp流的生成方式,若tcp流通过http请求生成,则提取http请求中的user-agent信息,执行步骤s4-s5,若tcp流不是通过http请求产生,则结束对当前tcp流的终端设备类型的识别。s4,根据user-agent信息识别终端类型,生成第二识别结果;s5,根据第一识别结果与第二识别结果确定终端类型。

可选地,步骤s5具体包括:比对第一识别结果与第二识别结果,若第一识别结果与第二识别结果相同则该第一识别结果和第二识别结果为终端的类型,若第一识别结果与第二识别结果不相同,则放弃通过该流识别所述终端的类型,重新获取tcp流,重复步骤s1~s5,直至得到相同的第一识别结果和第二识别结果。

可选地,option选项至少包括mss、ws、timestamp及sack选项,所述根据option选项的内容特征识别终端类型具体包括根据mss、ws、timestamp及sack选项的编排顺序识别终端类型。

可选地,根据option选项的内容特征识别终端类型还包括根据timestamp的值识别终端类型。

可选地,步骤s1之前还包括:s0,建立不同终端类型的sync数据包中option选项的内容特征与终端类型的关联数据库。

可选地,步骤s2中根据option选项的内容特征识别终端类型,生成第一识别结果具体为:将option选项的内容特征与关联数据库中的option选项的内容特征进行匹配,从关联数据库中得出option选项的内容特征对应的终端类型,生成第一识别结果。

可选地,步骤s2之后还包括将第一识别结果标记于tcp流中。

另一方面,本发明提供了一种电子设备,设备包括:处理器;存储器,其存储有计算机可执行程序,该程序在被处理器执行时,使得处理器执行上述的终端设备类型的识别方法。

又一方面,本发明提供了一种终端设备类型的识别系统,系统包括:获取模块,用于获取tcp流中的sync数据包;第一识别模块,用于提取sync数据包中的option选项,根据option选项的内容特征识别终端类型,生成第一识别结果;判断模块,用于判断tcp流的产生方式,若tcp流通过http请求产生,则提取http请求中的user-agent信息,执行步骤s4-s5,若tcp流不是通过http请求产生,则结束对当前tcp流的终端设备类型的识别。第二识别模块,用于根据user-agent信息识别终端类型,生成第二识别结果;确定模块,用于根据第一识别结果与第二识别结果确定终端类型。

又一方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的终端设备类型的识别方法。

(三)有益效果

本发明提供了一种终端设备类型的识别方法、系统、设备及介质,通过提取网络中tcp流中的数据包,进而分析数据包的特征进行终端设备的类型的判断,同时为了更加准确的得出终端设备的类型,采用数据包特征分析和user-agent分析相结合,进一步得出更加精准的终端设备的类型。

附图说明

图1示意性示出了本公开实施例的终端设备类型的识别方法步骤图;

图2示意性示出了本公开实施例的tcp流的http请求示意图;

图3示意性示出了本公开实施例的电子设备框图;

图4示意性示出了本公开实施例的终端设备类型的识别系统框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

本发明第一方面提供了一种终端设备类型的识别方法,参见图1,方法包括:s1,获取tcp流中的sync数据包;s2,提取sync数据包中的option选项,根据option选项的内容特征识别终端类型,生成第一识别结果;s3.判断tcp流的产生方式,若tcp流通过http请求产生,则提取http请求中的user-agent信息,执行步骤s4-s5,若tcp流不是通过http请求产生,结束对当前tcp流的终端设备类型的识别。s5,根据user-agent信息识别终端类型,生成第二识别结果;s6,根据第一识别结果与第二识别结果确定终端类型。

具体的,s1,获取tcp流中的sync数据包;

网络中通过tcp传输协议进行信息的传输,tcp会将数据包分成适当长度的报文段进行传输,通过报文段的流式传输进行数据交互,此处简称tcp流。首先,获取tcp流中的sync数据包,该数据包为tcp连接时发送的第一个数据包,用于和接收端建立联系,也即和接收端的第一次握手时发送的数据包。

s2,提取sync数据包中的option选项,根据option选项的内容特征识别终端类型,生成第一识别结果;

提取sync数据包中的option选项,不同的终端设备,如ios、linux或windows,中的option选项的内容特征不同,该内容特征至少包括mss、ws、timestamp及sack选项,不同的终端设备中的内容特征不同,如不同的终端设备中mss、ws、timestamp及sack选项的顺序排列不同,因此可以根据其顺序判断终端设备的类型,另外,不同的终端设备中timestamp的值不同,因此还可以根据timestamp的值判断终端设备的类型。

为了判断终端设备的类型,首先需要了解在设计过程中,不同终端设备对应的内容特征,因此步骤s2之前还包括建立不同终端设备类型的sync数据包中option选项的内容特征与终端类型的关联数据库。步骤s2中,具体为通过将得到的内容特征与关联数据库中存储的内容特征进行匹配,从关联数据库中得到对应的终端设备的类型,得到第一识别结果,并将第一识别结果标记于tcp流上,进一步对tcp流及tcp流中的数据包进行分析。

s3.判断tcp流的产生方式,若tcp流通过http请求产生,则提取http请求中的user-agent信息,执行步骤s4-s5,若tcp流不是通过http请求产生,则结束对当前tcp流的终端设备类型的识别。判断该tcp流的生成方式,若该tcp流是通过http请求产生,http请求中会包含基于浏览器发起http访问时的特征信息,如图2,根据其中的windowsnt10.0特征,即可识别该用户是基于windows设备。接着执行如下步骤s4-s5。如果该tcp流不是通过http请求产生的,则结束对当前tcp流的终端设备类型的识别。s4,根据user-agent信息识别终端类型,生成第二识别结果;

因此,可以提取http请求中的user-agent信息,根据user-agent信息对应的内容得出终端的终端类型,得到第二识别结果。

s5,根据第一识别结果与第二识别结果确定终端类型。

比对第一识别结果与第二识别结果,若第一识别结果与第二识别结果相同则该第一识别结果和第二识别结果为终端的类型,若第一识别结果与第二识别结果不相同,则放弃通过该流识别所述终端的类型,重新获取tcp流,重复步骤s1~s5,直至得到相同的第一识别结果和第二识别结果。

综上所述,本发明通过对sync数据包的内容特征进行分析,数据包内容不同于被篡改,可靠性高,得出初步的终端设备类型的判断,进一步结合user-agent信息得出终端设备类型的又一个判断结果,如果通过分析sync数据包和分析user-agent信息得到的终端设备类型的判断结果相同,则确定该终端设备类型的类型,可靠性高,可以快速准确的识别出终端设备的类型。

再一方面,本发明实施例提供了一种电子设备,参见图3,为本发明实施例的电子设备框图,电子设备300包括:处理器301和存储器302,该电子设备300可以执行根据本发明实施例的方法。

具体的,处理器301例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器301还可以包括用于缓存用途的板载存储器。处理器301可以是用于执行根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

存储器302,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;和/或有线/无线通信链路。

存储器302可以包括计算机程序3021,该计算机程序3021可以包括代码/计算机可执行指令,其在由处理器301执行时使得处理器301执行例如上面本发明实施例的方法流程及其任何变形。

计算机程序3021可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序3021中的代码可以包括一个或多个程序模块,例如包括3021a、模块3021b、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器301执行时,使得处理器301可以执行例如上面结合本发明实施例的方法流程及其任何变形。

又一方面,本发明实施例提供了一种终端设备类型的识别系统,参见图4,系统400包括:获取模块401、第一识别模块402、判断模块403、第二识别模块404以及确定模块405。

具体的,获取模块401,用于获取tcp流中的sync数据包;第一识别模块402,用于提取sync数据包中的option选项,根据option选项的内容特征识别终端类型,生成第一识别结果;判断模块403,用于判断tcp流的产生方式,若tcp流通过http请求产生,则提取http请求中的user-agent信息,执行步骤s4-s5,若tcp流不是通过http请求产生,则结束对当前tcp流的终端设备类型的识别。第二识别模块404,用于根据user-agent信息识别终端类型,生成第二识别结果;确定模块405,用于根据第一识别结果与第二识别结果确定终端类型。

根据本申请的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本申请实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。

本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本申请实施例的方法。

根据本申请的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。

本领域技术人员可以理解,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本申请的范围。

尽管已经参照本申请的特定示例性实施例示出并描述了本申请,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本申请的精神和范围的情况下,可以对本申请进行形式和细节上的多种改变。因此,本申请的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

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