一种基于Hadoop的应用层协议特征提取方法技术

技术编号:8685598 阅读:235 留言:0更新日期:2013-05-09 05:12
本发明专利技术公开了一种基于Hadoop的应用层协议特征提取方法,利用Hadoop平台的MapReduce模型,对目标应用层协议数据包进行扫描,根据最小支持数从备选项筛选出频繁项,并通过组合高位备选项再筛选频繁项的方法找出最长频繁项,再在所有频繁项中用偏移量筛选出互不重叠的频繁项作为特征字段顺序组合形成特征串,根据最小支持数在特征串中筛选出能反映目标应用层协议特征的最终特征串,完成目标应用层协议特征的提取。采用本发明专利技术只需要扫描一遍目标应用层协议数据,就能准确的提取出应用层协议的特征,改善了人为进行应用层协议特征提取在面对海量协议数据时的局限性以及特征确定的主观性。

【技术实现步骤摘要】

本专利技术属于应用层协议识别
,更为具体地讲,涉及。
技术介绍
随着互联网的飞速发展和宽带技术的不断发展,互联网中出现了一些新的需求。伴随着这些需求,应用层协议的形式与种类都较过去更加复杂,并且传统协议的流量在总流量中的比重越来越少,相反,P2P、流媒体、网络游戏等新应用协议不断涌现,因此如何正确的识别这些复杂的协议是现在协议识别算法必须解决的问题。识别协议的方法主要有:基于端口的识别、基于负载的识别、基于测度的识别和基于特征字段的识别。目前基于应用层特征字段的检测技术已成为应用层协议识别的主流方法,但是特征提取还缺乏有效的方法,主要通过人为分析某种应用层协议的规范文档来提取这种协议的特征。随着业务种类快速增长和越来越多非公开自定义协议的采用,通过人为分析进行特征提取变得日益困难,因此需要一种有效提取协议特征的方法。Cisco预测到2016年,全球将会产生1.3ZB的网络流量,是2011年全球网络流量的4倍,全球平均网速将从现在的9Mbps提高到34Mbps。面对日益增大的网络流量数据,传统的协议特征提取平台已经不能处理了,需要运用云计算来处理这些海量的数据。Hadoop是目前知名的开源系统,可处理PB级数据,运用Hadoop平台来提取协议特征将会有重大的意义。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供,高效准确地提取应用层协议特征。为实现上述专利技术目的,本专利技术基于Hadoop的应用层协议特征提取方法,其特征在于包括以下步骤:(I)、从网络上捕获需要提取特征的目标应用层协议的N个流量数据包,存储为文本格式;(2)、对文本格式的数据包进行预处理,去掉数据包中与协议无关的数据,去掉链路层、网络层和传输层的协议数据,得到目标应用层协议数据包,对每个目标应用层协议数据包进行标记以示区别,设置最小支持度a,得到最小支持数n=NXa;(3)、对步骤(2)得到的目标应用层协议数据包进行扫描,采用Hadoop平台的Map函数以位数为4、步进为2提取备选项,并存储每个备选项对应的数据包标记以及备选项相对于该数据包起始位置的偏移量;(4)、采用Hadoop平台的Reduce函数统计相同备选项对应的不同的数据包标记个数,作为该备选项的支持数,如果支持数>最小支持数n,则将备选项作为频繁项进行存储,否则不做任何操作;统计得到的频繁项数量,如果频繁项数量> 2,进入步骤(5),否则进入步骤(6);(5)、采用Hadoop平台的Map函数分离频繁项对应的数据包标记,采用Hadoop平台的Reduce函数将数据包标记相同的频繁项集中,将此时频繁项位数记为k ;对于数据包标记相同的频繁项两两计算偏移量之差,如果两个频繁项偏移量相差为2,将偏移量小的频繁项的前2位与偏移量大的频繁项顺序组合成k+2位的高位备选项,高位备选项的偏移量为偏移量小的频繁项的偏移量,否则不做任何操作;统计生成的高位备选项个数,如果大于零,返回步骤(4)从新生成的高位备选项中选出频繁项,并进行判断处理,如果等于零,进入步骤(6);(6)、读取步骤(4)产生的包括从高位备选项中选出的频繁项在内的所有频繁项,采用Hadoop平台的Map函数分离频繁项对应的数据包标记,采用Hadoop平台的Reduce函数将数据包标记相同的频繁项集中,根据频繁项偏移量进行特征字段筛选,筛选互不重叠的频繁项作为特征字段,得到N个目标应用层协议数据包对应的N组特征字段,第i,I ^ i ^ N组特征字段的数量为Mi ;(7)、采用Hadoop平台的Reduce函数依次对第i个目标应用层协议数据包进行特征字段组合:将Mi个特征字段进行Mi次组合,在第s,I < s < Mi次组合时,任意s个特征字段按偏移量顺序组合为特征串,得到个特征串,Mi次组合共计得到2焉一I个特征串;(8)、对步骤(7)得到的N个目标应用层协议数据包的所有特征串,采用Hadoop平台的Reduce函数统计相同特征串对应的不同的数据包标记个数作为该特征串的支持数,若支持数>最小支持数n,则将该特征串作为待定特征串;对待定特征串数据包标记进行识别,如果有任意两个及以上待定特征串具有相同的数据包标记,则保留最 长的待定特征串,删除其他具有相同数据包标记的待定特征串;将识别后的待定特征串作为目标应用层协议的最终特征串,完成目标应用层协议特征的提取。其中,步骤(5)与步骤(6)中的频繁项集中通过hash函数完成。其中,步骤(6)中的特征字段筛选包括以下步骤:I)、对于所有具有相同标记的频繁项,统计具有相同偏移量的频繁项,并在具有相同偏移量的频繁项中选取最长的频繁项,共计W个;2)、将W个频繁项按偏移量排序,将第d=l个频繁项作为第m=l个特征字段存储;3)、如果d=d+l>W,特征字段筛选结束;否则进入步骤4);4)、判断第d个频繁项的偏移量是否大于第m个特征字段最后一个字符的偏移量,如果结果为是,进入步骤5);如果结果为否,则不做任何操作,返回步骤3);5)、将第d个频繁项作为第m=m+l特征字段存储,返回步骤3)。本专利技术的专利技术目的是这样实现的:本专利技术基于Hadoop的应用层协议特征提取方法,利用Hadoop平台的MapReduce模型,对目标应用层协议数据包进行扫描,根据最小支持数从备选项筛选出频繁项,并通过组合高位备选项再筛选频繁项的方法找出最长频繁项,再在所有频繁项中用偏移量筛选出互不重叠的频繁项作为特征字段顺序组合形成特征串,根据最小支持数在特征串中筛选出能反映目标应用层协议特征的最终特征串,完成目标应用层协议特征的提取。本专利技术基于Hadoop的应用层协议特征提取方法只需要扫描一遍目标应用层协议数据,就能准确的提取出应用层协议的特征,改善了人为进行应用层协议特征提取在面对海量协议数据时的局限性以及特征确定的主观性。附图说明图1是本专利技术基于Hadoop的应用层协议特征提取方法的一种具体实施方式流程图;图2是本专利技术基于Hadoop的应用层协议特征提取方法中特征字段筛选方法的一种具体实施方式的流程图。具体实施例方式下面结合附图对本专利技术的具体实施方式进行描述,以便本领域的技术人员更好地理解本专利技术。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本专利技术的主要内容时,这些描述在这里将被忽略。本专利技术基于Hadoop的应用层协议特征提取方法是基于Hadoop平台,主要利用了MapReduce模型,对协议数据进行处理。本专利技术对Map函数和Reduce函数进行了重写,使其满足本专利技术的数据处理要求。图1是本专利技术基于Hadoop的应用层协议特征提取方法的一种具体实施方式流程图。如图1所示,本专利技术基于Hadoop的应用层协议特征提取方法包括以下步骤:SlOl:从网络上捕获需要提取特征的目标应用层协议的N个流量数据包,存储为文本格式。S102:对文本格式的数据包进行预处理,去掉数据包中与协议无关的数据,去掉链路层、网络层和传输层的协议数据,得到目标应用层协议数据包,对每个目标应用层协议数据包进行标记以示区别,设置最小支持度a,得到最小支持数n=NXa。S103:对步骤S102得到的目标应用层协议数据包进行扫描,采用Hadoop平台的Map函数以位数为4、步进本文档来自技高网...

【技术保护点】
一种基于Hadoop的应用层协议特征提取方法,其特征在于包括以下步骤:(1)、从网络上捕获需要提取特征的目标应用层协议的流量数据包,存储为文本格式;(2)、对文本格式的数据包进行预处理,去掉数据包中与协议无关的数据,去掉链路层、网络层和传输层的协议数据,得到目标应用层协议数据包,对每个目标应用层协议数据包进行标记以示区别,设置最小支持度a,得到最小支持数n=N×a;(3)、对步骤(2)得到的目标应用层协议数据包进行扫描,采用Hadoop平台的Map函数提取备选项,并存储每个备选项对应的数据包标记以及备选项相对于该数据包起始位置的偏移量;(4)、采用Hadoop平台的Reduce函数统计相同备选项对应的不同的数据包标记个数,作为该备选项的支持数,如果支持数≥最小支持数n,则将备选项作为频繁项进行存储,否则不做任何操作;统计得到的频繁项数量,如果频繁项数量≥2,进入步骤(5),否则进入步骤(6);(5)、采用Hadoop平台的Map函数分离频繁项对应的数据包标记,采用Hadoop平台的Reduce函数将数据包标记相同的频繁项集中,将此时频繁项位数记为k;对于数据包标记相同的频繁项两两计算偏移量之差,如果两个频繁项偏移量相差为2,将偏移量小的频繁项的前2位与偏移量大的频繁项顺序组合成k+2位的高位备选项,高位备选项的偏移量为偏移量小的频繁项的偏移量,否则不做任何操作;统计生成的高位备选项个数,如果大于零,返回步骤(4)从新生成的高位备选项中选出频繁项,如果等于零,进入步骤(6);(6)、读取步骤(4)产生的所有频繁项,采用Hadoop平台的Map函数分离频繁项对应的数据包标记,采用Hadoop平台的Map函数函数将数据包标记相同的频繁项集中,根据频繁项偏移量进行特征字段筛选,筛选互不重叠的频繁项作为特征字段,得到N个目标应用层协议数据包对应的N组特征字段,第i,1≤i≤N组特征字段的数量为Mi;(7)、采用Hadoop平台的Reduce函数依次对第i个目标应用层协议数据包 进行特征字段组合特征字段组合:将Mi个特征字段进行Mi次组合,在第s次组合时,任意s个特征字段按偏移量顺序组合为特征串,得到个特征串,Mi次组合共计得到个特征串;(8)、对步骤(7)得到的N个目标应用层协议数据包的所有特征串,采用Hadoop平台的Reduce函数统计相同特征串对应的不同的数据包标记个数作为该特征串的支持数,若支持数≥最小支持数n,则将该特征串作为待定特征串;对待定特征串数据包标记进行识别,如果有任意两个及以上待定特征串具有相同的数据包标记,则保留最长的待定特征串,删除其他具有相同数据包标记的待定特征串;将识别后的待定特征串作为目标应用层协议的最终特征串。FDA00002791450000021.jpg,FDA00002791450000022.jpg...

【技术特征摘要】
1.种基于Hadoop的应用层协议特征提取方法,其特征在于包括以下步骤: (1)、从网络上捕获需要提取特征的目标应用层协议的流量数据包,存储为文本格式; (2)、对文本格式的数据包进行预处理,去掉数据包中与协议无关的数据,去掉链路层、网络层和传输层的协议数据,得到目标应用层协议数据包,对每个目标应用层协议数据包进行标记以示区别,设置最小支持度a,得到最小支持数n=NXa; (3)、对步骤(2)得到的目标应用层协议数据包进行扫描,采用Hadoop平台的Map函数提取备选项,并存储每个备选项对应的数据包标记以及备选项相对于该数据包起始位置的偏移量; (4)、采用Hadoop平台的Reduce函数统计相同备选项对应的不同的数据包标记个数,作为该备选项的支持数 ,如果支持数>最小支持数n,则将备选项作为频繁项进行存储,否则不做任何操作;统计得到的频繁项数量,如果频繁项数量> 2,进入步骤(5),否则进入步骤(6); (5)、采用Hadoop平台的Map函数分离频繁项对应的数据包标记,采用Hadoop平台的Reduce函数将数据包标记相同的频繁项集中,将此时频繁项位数记为k ;对于数据包标记相同的频繁项两两计算偏移量之差,如果两个频繁项偏移量相差为2,将偏移量小的频繁项的前2位与偏移量大的频繁项顺序组合成k+2位的高位备选项,高位备选项的偏移量为偏移量小的频繁项的偏移量,否则不做任何操作;统计生成的高位备选项个数,如果大于零,返回步骤(4)从新生成的高位备选项中选出频繁项,如果等于零,进入步骤(6); (6)、读取步骤(4)产生的所有频繁项,采用Hadoop平台的Map函数分离频繁项对应的数据包标记,采用Hadoop平台的Map函数函数将数据包标记相同的频繁项集中,根据频繁项偏移量进行特征字段筛选,...

【专利技术属性】
技术研发人员:孙健陈小英徐杰隆克平张毅李乾坤王晓丽梁雪芬姚洪泽陈旭
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1