一种DPI识别的实现方法及设备技术

技术编号:24862565 阅读:46 留言:0更新日期:2020-07-10 19:13
本发明专利技术涉及通信领域,特别涉及一种DPI识别的实现方法及设备,用于提高DPI设备的业务识别率,该方法为:采用第一业务特征集合,对目标数据流中前N个数据包进行业务类型识别失败后,采用第二业务特征集合,对目标数据流中前N个数据包之后指定位置的数据包进行补充业务类型识别,这样,针对业务特征出现在位置靠后的数据包的目标数据流,能够实现精确的业务类型识别,从而有效提高了DPI设备的业务识别率,避免了漏检情况的发现,同时,由于进行补充业务类型识别时,DPI设备只解析了指定位置的数据包,而不用顺序解析所有的数据包,因此,有效降低了DPI设备的消耗,避免DPI设备负荷过重,进而保证了DPI设备的服务性能。

【技术实现步骤摘要】
一种DPI识别的实现方法及设备
本专利技术涉及通信领域,特别涉及一种DPI识别的实现方法及设备。
技术介绍
已有技术下,深度报文检测(DeepPacketInspection,DPI)设备通过对网络的关键点处的数据流的报文内容进行检测分析,可以根据事先定义的策略对数据流进行过滤控制,从而完成所在链路的业务精细化识别、业务流量流向分析、业务流量占比统计和业务占比整形,进一步地,还能够在应用层拒绝服务攻击,并对病毒、木马进行过滤,以及针对P2P滥用进行控制等等。DPI设备通常采用直接串接或者分光并接的方式接入链路。参阅图1所示,在工作时,DPI设备首先加载预设的规则库,当有数据流经过DPI设备时,DPI设备对数据流进行数据包采集,提取出数据包的报文特征,并与规则库中的预存的业务特征比对,若匹配成功,则将数据包打上相应的业务标签,并进行业务流量统计。然而,数据包中报文特征的出现位置不固定,已有技术下,考虑到数据包解析对DPI设备的性能消耗,DPI设备通常只解析每条数据流的前N个数据包(如,N=10),如果使用数据流中前N个数据包能够匹配中规则库中的业务特征,则可以成功实现业务识别,否则,针对数据流中后续的数据包不再进行业务特征匹配,并将数据流设置为未识别。这样,将在一定程度上降低DPI设备的业务识别率。
技术实现思路
本专利技术实施例提供一种DPI识别的实现方法及设备,用以提高DPI设备的业务识别率。本专利技术实施例提供的具体技术方案如下:一种DPI识别的实现方法,包括:接收目标数据流,并基于所述目标数据流中前N个数据包,提取相应的第一报文特征;采用预设的第一业务特征集合,对所述第一报文特征进行匹配,获得第一匹配结果;基于所述第一匹配结果确定匹配不成功时,基于所述目标数据流中前N个数据包之后的指定数据包,提取相应的第二报文特征;采用预设的第二业务特征集合,对所述第二报文特征进行匹配,获得第二匹配结果,并基于所述第二匹配结果确定匹配成功时,识别所述目标数据流的业务类型。可选的,基于所述目标数据流中前N个数据包,提取相应的第一报文特征,包括:执行以下操作中的任意一种:从所述前N个数据包中提取出目标数据流的IP地址作为第一报文特征;从所述前N个数据包中提取出目标数据流的服务器端口号作为第一报文特征;从所述前N个数据包中提取出超文本传输协议HTTP承载中的主机名称host字段作为第一报文特征;从所述前N个数据包中提取出指定位置的指纹信息作为第一报文特征;从所述前N个数据包中,提取出连续发送的L个载荷达到设定阈值的数据包的host字段或指纹信息,进行关联联合后作为第一报文特征。从所述前N个数据包中,提取出连续发送的第一个字节分别为指定数据的L个数据包的host字段或指纹信息,进行关联后作为第一报文特征。可选的,基于所述目标数据流中前N个数据包之后的指定数据包,提取相应的第二报文特征;对所述目标数据流中前N个数据包之后的数据包进行报文复制,并在复制后的数据包中,基于预设序号对应的数据包,提取相应的第二报文特征;或者,按照预设序号,对所述目标数据流中前N个数据包之后相应的数据包进行报文复制,并基于复制后的数据包,提取相应的第二报文特征。可选的,提取相应的第二报文特征,包括:执行以下操作中的任意一种:从所述指定数据包中提取出目标数据流的IP地址作为第二报文特征;从所述指定数据包中提取出目标数据流的服务器端口号作为第二报文特征;从所述指定数据包中提取出超文本传输协议HTTP承载中的主机名称host字段作为第二报文特征;从所述指定数据包中提取出指定位置的指纹信息作为第二报文特征;从所述指定数据包中,提取出连续发送的L个载荷达到设定阈值的数据包的host字段或指纹信息,进行关联联合后作为第二报文特征。从所述指定数据包中,提取出连续发送的第一个字节分别为指定数据的L个数据包的host字段或指纹信息,进行关联后作为第二报文特征。可选的,所述第一业务特征集合中,记录有按照协议规定在所述前N个数据包中出现的业务特征;所述第二业务特征集合中,记录有按照协议规定在所述前N个数据包之后的数据包中出现的业务特征,以及记录有预设的用于提取第二报文特征的数据包的序号。可选的,基于所述第二匹配结果确定匹配成功时,识别所述目标数据流的业务类型,包括:基于所述第二业务特征集合中匹配成功的业务特征,确定相应的业务类型;对应所述目标数据流记录所述业务类型,并上报至日志服务器进行保存。可选的,按照设定周期,基于当前最新的业务内容,对所述第一业务特征集合和所述第二业务特征集合进行更新。一种DPI识别的实现设备,包括:第一识别模块,用于接收目标数据流,并基于所述目标数据流中前N个数据包,提取相应的第一报文特征,以及采用预设的第一业务特征集合,对所述第一报文特征进行匹配,获得第一匹配结果;第二识别模块,用于基于所述第一匹配结果确定匹配不成功时,基于所述目标数据流中前N个数据包之后的指定数据包,提取相应的第二报文特征,并采用预设的第二业务特征集合,对所述第二报文特征进行匹配,获得第二匹配结果,以及基于所述第二匹配结果确定匹配成功时,识别所述目标数据流的业务类型。可选的,基于所述目标数据流中前N个数据包,提取相应的第一报文特征时,所述第一识别模块用于:执行以下操作中的任意一种:从所述前N个数据包中提取出目标数据流的IP地址作为第一报文特征;从所述前N个数据包中提取出目标数据流的服务器端口号作为第一报文特征;从所述前N个数据包中提取出超文本传输协议HTTP承载中的主机名称host字段作为第一报文特征;从所述前N个数据包中提取出指定位置的指纹信息作为第一报文特征;从所述前N个数据包中,提取出连续发送的L个载荷达到设定阈值的数据包的host字段或指纹信息,进行关联联合后作为第一报文特征。从所述前N个数据包中,提取出连续发送的第一个字节分别为指定数据的L个数据包的host字段或指纹信息,进行关联后作为第一报文特征。可选的,基于所述目标数据流中前N个数据包之后的指定数据包,提取相应的第二报文特征时,所述第二识别模块用于:对所述目标数据流中前N个数据包之后的数据包进行报文复制,并在复制后的数据包中,基于预设序号对应的数据包,提取相应的第二报文特征;或者,按照预设序号,对所述目标数据流中前N个数据包之后相应的数据包进行报文复制,并基于复制后的数据包,提取相应的第二报文特征。可选的,提取相应的第二报文特征时,所述第二识别模块用于:执行以下操作中的任意一种:从所述指定数据包中提取出目标数据流的IP地址作为第二报文特征;从所述指定数据包中提取出目标数据流的服务器端口号作为第二报文特征;从所述指定数据包中提取出超文本文档来自技高网...

【技术保护点】
1.一种深度报文检测DPI识别的实现方法,其特征在于,包括:/n接收目标数据流,并基于所述目标数据流中前N个数据包,提取相应的第一报文特征;/n采用预设的第一业务特征集合,对所述第一报文特征进行匹配,获得第一匹配结果;/n基于所述第一匹配结果确定匹配不成功时,基于所述目标数据流中前N个数据包之后的指定数据包,提取相应的第二报文特征;/n采用预设的第二业务特征集合,对所述第二报文特征进行匹配,获得第二匹配结果,并基于所述第二匹配结果确定匹配成功时,识别所述目标数据流的业务类型。/n

【技术特征摘要】
1.一种深度报文检测DPI识别的实现方法,其特征在于,包括:
接收目标数据流,并基于所述目标数据流中前N个数据包,提取相应的第一报文特征;
采用预设的第一业务特征集合,对所述第一报文特征进行匹配,获得第一匹配结果;
基于所述第一匹配结果确定匹配不成功时,基于所述目标数据流中前N个数据包之后的指定数据包,提取相应的第二报文特征;
采用预设的第二业务特征集合,对所述第二报文特征进行匹配,获得第二匹配结果,并基于所述第二匹配结果确定匹配成功时,识别所述目标数据流的业务类型。


2.如权利要求1所述的方法,其特征在于,基于所述目标数据流中前N个数据包,提取相应的第一报文特征,包括:
执行以下操作中的任意一种:
从所述前N个数据包中提取出目标数据流的IP地址作为第一报文特征;
从所述前N个数据包中提取出目标数据流的服务器端口号作为第一报文特征;
从所述前N个数据包中提取出超文本传输协议HTTP承载中的主机名称host字段作为第一报文特征;
从所述前N个数据包中提取出指定位置的指纹信息作为第一报文特征;
从所述前N个数据包中,提取出连续发送的L个载荷达到设定阈值的数据包的host字段或指纹信息,进行关联联合后作为第一报文特征;
从所述前N个数据包中,提取出连续发送的第一个字节分别为指定数据的L个数据包的host字段或指纹信息,进行关联后作为第一报文特征。


3.如权利要求1或2所述的方法,其特征在于,基于所述目标数据流中前N个数据包之后的指定数据包,提取相应的第二报文特征,包括:
对所述目标数据流中前N个数据包之后的数据包进行报文复制,并在复制后的数据包中,基于预设序号对应的数据包,提取相应的第二报文特征;或者,
按照预设序号,对所述目标数据流中前N个数据包之后相应的数据包进行报文复制,并基于复制后的数据包,提取相应的第二报文特征。


4.如权利要求3所述的方法,其特征在于,提取相应的第二报文特征,包括:
执行以下操作中的任意一种:
从所述指定数据包中提取出目标数据流的IP地址作为第二报文特征;
从所述指定数据包中提取出目标数据流的服务器端口号作为第二报文特征;
从所述指定数据包中提取出超文本传输协议HTTP承载中的主机名称host字段作为第二报文特征;
从所述指定数据包中提取出指定位置的指纹信息作为第二报文特征;
从所述指定数据包中,提取出连续发送的L个载荷达到设定阈值的数据包的host字段或指纹信息,进行关联联合后作为第二报文特征;

【专利技术属性】
技术研发人员:马琼芳董晓荔陈曦李宝磊
申请(专利权)人:中国移动通信有限公司研究院中国移动通信集团有限公司
类型:发明
国别省市:北京;11

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

1