一种网络数据包多层协议识别的系统和方法技术方案

技术编号:18356124 阅读:44 留言:0更新日期:2018-07-02 09:42
本发明专利技术提供了一种网络数据包多层协议识别的系统和方法,包括:数据输入模块:从数据来源中读取数据包,剥离已知的下层协议,提取未知的负载,输出若干个数据包,每个输出的数据包包含未知的负载和下层协议的已知元信息;分析模块:从所述数据输入模块的输出中提取连续数据块,对每个连续数据块分片执行协议检测,根据协议检测结果统计协议相邻概率。本发明专利技术解决了现有技术无法分类出完整的协议栈的缺陷。

【技术实现步骤摘要】
一种网络数据包多层协议识别的系统和方法
本专利技术涉及网络流量分析计数领域,具体地,涉及一种网络数据包多层协议识别的系统和方法。
技术介绍
网络流量分类技术是指通过分析网络流量数据,判断网络流量所属的协议或应用类别。对网络流量进行分类是分析网络承载流量、进行业务性能分析的重要手段。目前在流量分类领域,通常比较准确的办法是基于载荷的分类方法,基于载荷的分类方法对网络数据包的内容进行深度检测(DPI,DeepPacketInspection),包括:1.采用一组载荷的特征(精确特征与正则表达式)识别网络流量中的应用,它具有十分高的识别精度。例如申请号为200710152390.4的专利技术专利“网络流量分类处理方法及网络流量分类处理装置”。2.收集协议的样本通过机器学习技术训练分类器,来执行分类。例如申请号为201310414970.1的专利技术专利“网络流量分类方法及装置”,以及申请号为201510176138.1的专利技术专利“一种网络流量分类方法”。然而随着技术的发展,网络流量越来越复杂,每一层下层协议可以承载多种不同的上层协议。所以一份数据的真实分类很可能是一个协议树,而不能简单的用一个分类来表达。举一个例子,一个如图1所示的复杂的网络协议栈样例,是一个典型的网站可能包含的协议栈。HTTP上层可能承载各种不同的流量,包含HTML页面,JSON数据,MIME可能用于上传文件和提交表单。在企业应用中也有很多中间件承载各种不同的上层应用。为了更准确的分析网络流量,特别是需要解析出其中的业务信息的时候,简单的给出一个分类已经不足够,必须分类出完整的协议栈。包括上述的三个专利在内的现有技术都只能给出一个分类结果,无法解决分类出复杂协议栈的问题。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种网络数据包多层协议识别的系统和方法。根据本专利技术提供的网络数据包多层协议识别的系统,包括:数据输入模块:从数据来源中读取数据包,剥离已知的下层协议,提取未知的负载,输出若干个数据包,每个输出的数据包包含未知的负载和下层协议的已知元信息;分析模块:从所述数据输入模块的输出中提取连续数据块,对每个连续数据块分片执行协议检测,根据协议检测结果统计协议相邻概率。优选的,所述对每个连续数据块分片执行协议检测包括:切分连续数据块为固定大小的数据分片,对每个数据分片检测协议,产生包含若干个分类的分类序列;在产生的分类序列的头部插入一个特殊分类,其中,所述特殊分类表示上层已知的分类。优选的,所述统计协议相邻概率包括:用所有不同分类建立M*M的矩阵,M为所有不同分类的数目,初始化矩阵所有值为0;根据每个数据分片执行协议检测得到的结果,对分类序列中每两个相邻的分类在矩阵对应处的值加1。优选的,所述分析模块在统计协议相邻概率后还包括构造协议关系图:将矩阵转换成图,图的节点对应协议,边的权重对应矩阵中的值,图的根节点为所述特殊分类。优选的,还包括查询模块:提供用户界面,根据用户输入的查询要求执行查询算法,输出查询结果。根据本专利技术提供的网络数据包多层协议识别的方法,包括:数据输入步骤:从数据来源中读取数据包,剥离已知的下层协议,提取未知的负载,输出若干个数据包,每个输出的数据包包含未知的负载和下层协议的已知元信息;分析步骤:从数据输入步骤的输出中提取连续数据块,对每个连续数据块分片执行协议检测,根据协议检测结果统计协议相邻概率。优选的,所述对每个连续数据块分片执行协议检测包括:切分连续数据块为固定大小的数据分片,对每个数据分片检测协议,产生包含若干个分类的分类序列;在产生的分类序列的头部插入一个特殊分类,其中,所述特殊分类表示上层已知的分类。优选的,所述统计协议相邻概率包括:用所有不同分类建立M*M的矩阵,M为所有不同分类的数目,初始化矩阵所有值为0;根据每个数据分片执行协议检测得到的结果,对分类序列中每两个相邻的分类在矩阵对应处的值加1。优选的,分析步骤在统计协议相邻概率后还包括构造协议关系图:将矩阵转换成图,图的节点对应协议,边的权重对应矩阵中的值,图的根节点为所述特殊分类。优选的,还包括查询步骤:提供用户界面,根据用户输入的查询要求执行查询算法,输出查询结果。与现有技术相比,本专利技术具有如下的有益效果:1、解决现有技术无法分类出完整的协议栈的缺陷;2、使用图数据结构保存分类结果,准确的表示数据中复杂的协议层级信息,可以根据不同场景,提取不同细节程度的结果。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为一个复杂的网络协议栈样例的示意图;图2为本专利技术提供的网络数据包多层协议识别的系统的模块关系图;图3为本专利技术分析模块的工作步骤示意图;图4至图7为本专利技术分析模块数据转化过程的示意图;图8为本专利技术查询算法的流程图;图9为本专利技术实施例的一个协议关系图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。如图2所示,本专利技术提供的网络数据包多层协议识别的系统包括三个模块:数据输入模块、分析模块以及查询模块。一、数据输入模块:从数据来源中读取数据包,剥离已知的下层协议,将未知的负载提取出来,输出若干个数据包,每个数据包包含了未知的负载和下层协议的已知元信息。数据来源可以是但不限于实时从网卡捕获,从文件读取。二、分析模块:1、构造一个数据片段协议检测子模块,可以利用现有的DPI软件包,或者对于要检测的专有协议手工构造特征关键词规则。2、从数据输入模块的输出中提取连续数据块,对每个连续数据块分片执行协议检测,统计协议相邻概率,以及构造协议关系图。其中,我们定义判断一个数据片断是哪个协议的操作为协议检测。如图3所示,分析模块的工作步骤如下:步骤1、提取数据包中的连续数据块,比如说一个数据包的负载可以作为一个连续数据块提取;步骤2、对于每个连续数据块执行如下操作:步骤2.1、切分连续数据块为固定大小(比如256字节)的数据分片,每个数据分片调用数据片段协议检测子模块执行协议检测,产生包含若干个分类的分类序列,如[P1,P2];步骤2.2、在分类序列的头部插入一个特殊分类P0,特殊分类P0表示上层已知的分类,产生分类序列[P0,P1,P2]。步骤3、统计和生成协议相邻关系矩阵,步骤如下:步骤3.1、用所有不同分类建立M*M的矩阵,M为所有不同分类的数目,初始矩阵化所有值为0;步骤3.2、根据每个数据分片执行协议检测得到的结果,对分类序列中每两个相邻的分类在矩阵对应处的值加1,若检测结果为P1,P2,则矩阵P1,P2处的值加1,若检测结果为P0,P1,P2,则矩阵P0,P1以及P1,P2处的值加1。步骤4、将矩阵转换成图,图的节点对应协议,边的权重对应矩阵中的值,图的根节点为所述特殊分类P0。图4至图7为分析模块数据转化的流程,分别对应上述步骤1至步骤4输出的数据结果。图4是根据步骤1得出的数据块编号和对应的数据块数据,数据在图中使用16进制表示。将图4的数据经过步骤2处理后得到图5的中的数据块编号和对应本文档来自技高网
...
一种网络数据包多层协议识别的系统和方法

【技术保护点】
1.一种网络数据包多层协议识别的系统,其特征在于,包括:数据输入模块:从数据来源中读取数据包,剥离已知的下层协议,提取未知的负载,输出若干个数据包,每个输出的数据包包含未知的负载和下层协议的已知元信息;分析模块:从所述数据输入模块的输出中提取连续数据块,对每个连续数据块分片执行协议检测,根据协议检测结果统计协议相邻概率。

【技术特征摘要】
1.一种网络数据包多层协议识别的系统,其特征在于,包括:数据输入模块:从数据来源中读取数据包,剥离已知的下层协议,提取未知的负载,输出若干个数据包,每个输出的数据包包含未知的负载和下层协议的已知元信息;分析模块:从所述数据输入模块的输出中提取连续数据块,对每个连续数据块分片执行协议检测,根据协议检测结果统计协议相邻概率。2.根据权利要求1所述的网络数据包多层协议识别的系统,其特征在于,所述对每个连续数据块分片执行协议检测包括:切分连续数据块为固定大小的数据分片,对每个数据分片检测协议,产生包含若干个分类的分类序列;在产生的分类序列的头部插入一个特殊分类,其中,所述特殊分类表示上层已知的分类。3.根据权利要求2所述的网络数据包多层协议识别的系统,其特征在于,所述统计协议相邻概率包括:用所有不同分类建立M*M的矩阵,M为所有不同分类的数目,初始化矩阵所有值为0;根据每个数据分片执行协议检测得到的结果,对分类序列中每两个相邻的分类在矩阵对应处的值加1。4.根据权利要求3所述的网络数据包多层协议识别的系统,其特征在于,所述分析模块在统计协议相邻概率后还包括构造协议关系图:将矩阵转换成图,图的节点对应协议,边的权重对应矩阵中的值,图的根节点为所述特殊分类。5.根据权利要求1所述的网络数据包多层协议识别的系统,其特征在于,还包括查询模块:提供用户界面,根据用户输入的查询要求执行查询算法,输出查询结...

【专利技术属性】
技术研发人员:蔡晓华陶飞杨光辉贺晓麟王涛周育樑
申请(专利权)人:上海天旦网络科技发展有限公司
类型:发明
国别省市:上海,31

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

1