一种基于TCP协议payload特征的应用识别方法技术

技术编号:28848336 阅读:20 留言:0更新日期:2021-06-11 23:49
本发明专利技术公开了一种基于TCP协议payload特征的应用识别方法,包括以下步骤:S1、进行数据报文;S2、提取payload字段;S3、进行字典树特征匹配;S4、判断匹配是否成功,当判断匹配不成功时,标记为未识别流量,当判断匹配成功时,标记为已识别流量。根据本发明专利技术,避免在识别过程中存在系统性能耗损严重的问题。

【技术实现步骤摘要】
一种基于TCP协议payload特征的应用识别方法
本专利技术涉及DPI技术的
,特别涉及一种基于TCP协议payload特征的应用识别方法。
技术介绍
DPI技术是一种传统的应用流量识别技术,其基本原理是在通过分析数据报文payload的基础上,结合各类应用的“指纹”特征综合判断所属的应用。基于DPI技术实现的应用流量识别系统通常包含两个部分:包检测识别引擎和应用的“指纹”特征库。应用特征库是一系列应用特征按照一定格式生成的文本文件,包检测识别引擎主要负责数据报文的分析、特征字段提取与特征库匹配。因而基于DPI的应用流量识别过程可简化为数据报文特征字段的提取与应用特征库的匹配过程。TCP协议payload是TCP协议层的数据段,同一个应用数据报文的payload字段往往包含着该应用独有的特征“指纹”信息,通过这些特征,我们可以方便地对数据流进行应用识别。Payload特征以“pos:value”的形式标记,pos代表该value在payload中的位置信息,value代表对应位置的数值信息(1Byte,16进制表示)。单个应用可能包含多个payload信息,一个payload特征可能包含多组“pos:value”信息。以下是一个示例的应用特征信息:00:0x17|02:0x00|03:0x03上述payload特征等价于:17*0003(16进制前缀省去,*代表通配符)。但是现有技术nDPI采用遍历各个协议解析器直到解析成功或全部解析失败为止,在时间复杂度上为O(n),n为协议解析器的数量。当协议解析器数量n增大时,解析识别的效率随协议解析器数量,呈线性下降的趋势。
技术实现思路
针对现有技术中存在的不足之处,本专利技术的目的是提供一种基于TCP协议payload特征的应用识别方法,避免在识别过程中存在系统性能耗损严重的问题。为了实现根据本专利技术的上述目的和其他优点,提供了一种基于TCP协议payload特征的应用识别方法,包括以下步骤:S1、进行数据报文;S2、提取payload字段;S3、进行字典树特征匹配;S4、判断匹配是否成功,当判断匹配不成功时,标记为未识别流量,当判断匹配成功时,标记为已识别流量。优选的,所述步骤S3包括以下步骤:S31、对payload数据进行是否存在通配符节点;S32、当判断payload数据不存在通配符节点,进行判断是否节点匹配成功;S33、当判断节点匹配成功时,进行判断节点是否为尾节点。优选的,当判断payload数据存在通配符节点时,进行节点移动到下一层,且返回步骤S31。优选的,当判断节点匹配不成功时,则表示匹配失败。优选的,当判断节点为尾节点时,则表示匹配成功,当判断节点不为尾节点时,则进行节点移动到下一层,且返回步骤S31。本专利技术与现有技术相比,其有益效果是:为了避免“遍历”操作带来的性能损耗,采用字典树结构存储应用的“指纹”信息,在进行特征匹配的时候无需采用遍历的形式,同时针对字典树结构空间复杂度高的问题进行了优化,特征匹配时间复杂度接近O(1),应用识别的效率不再受特征库大小的制约。附图说明图1为根据本专利技术的基于TCP协议payload特征的应用识别方法的payload特征识别流程图;图2为根据本专利技术的基于TCP协议payload特征的应用识别方法的字典树结构匹配流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参照图1-2,一种基于TCP协议payload特征的应用识别方法,包括以下步骤:S1、进行数据报文;S2、提取payload字段;S3、进行字典树特征匹配;S4、判断匹配是否成功,当判断匹配不成功时,标记为未识别流量,当判断匹配成功时,标记为已识别流量。进一步的,所述步骤S3包括以下步骤:S31、对payload数据进行是否存在通配符节点;S32、当判断payload数据不存在通配符节点,进行判断是否节点匹配成功;S33、当判断节点匹配成功时,进行判断节点是否为尾节点。进一步的,当判断payload数据存在通配符节点时,进行节点移动到下一层,且返回步骤S31。进一步的,当判断节点匹配不成功时,则表示匹配失败。进一步的,当判断节点为尾节点时,则表示匹配成功,当判断节点不为尾节点时,则进行节点移动到下一层,且返回步骤S31。本专利技术通过在在传统的五元组检测基础上,通过对上层协议(IP层之上)数据包内容进行分析,依据数据特征字的查找或者业务的行为统计,得到相关业务流的类型,于字典树的结构化特征存储、匹配手段,优化了传统遍历特征库/解析器带来的系统性能损耗问题。这里说明的设备数量和处理规模是用来简化本专利技术的说明的,对本专利技术的应用、修改和变化对本领域的技术人员来说是显而易见的。尽管本专利技术的实施方案已公开如上,但其并不仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本专利技术的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本专利技术并不限于特定的细节和这里示出与描述的图例。本文档来自技高网
...

【技术保护点】
1.一种基于TCP协议payload特征的应用识别方法,其特征在于,包括以下步骤:/nS1、进行数据报文;/nS2、提取payload字段;/nS3、进行字典树特征匹配;/nS4、判断匹配是否成功,当判断匹配不成功时,标记为未识别流量,当判断匹配成功时,标记为已识别流量。/n

【技术特征摘要】
1.一种基于TCP协议payload特征的应用识别方法,其特征在于,包括以下步骤:
S1、进行数据报文;
S2、提取payload字段;
S3、进行字典树特征匹配;
S4、判断匹配是否成功,当判断匹配不成功时,标记为未识别流量,当判断匹配成功时,标记为已识别流量。


2.如权利要求1所述的一种基于TCP协议payload特征的应用识别方法,其特征在于,所述步骤S3包括以下步骤:
S31、对payload数据进行是否存在通配符节点;
S32、当判断payload数据不存在通配符节点,进行判断是否节点匹配成功;
S33、当判断节点...

【专利技术属性】
技术研发人员:王玉其林喆
申请(专利权)人:上海商米科技集团股份有限公司深圳米开朗基罗科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1