发明名称 一种基于Hadoop的应用层协议识别方法
摘要 本发明公开了一种基于Hadoop的应用层协议识别方法,用HBase数据库存放特征值表0和1,这两张表充分运用了HBase数据库的多维度,面向列存储的特点,并且表0中用第一个特征字段的前4个字符聚类的方式存放,这样更为高效地对特征值进行选取,同时基于应用层协议数据包特征串识别方法,能够准确的识别出应用层协议的类型。
申请公布号 CN103281291A 申请公布日期 2013.09.04
申请号 CN201310053824.0 申请日期 2013.02.19
申请人 电子科技大学 发明人 孙健;陈小英;徐杰;隆克平;张毅;陈旭;姚洪哲;李乾坤;梁雪芬;王晓丽
分类号 H04L29/06(2006.01)I;H04L12/26(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 成都行之专利代理事务所(普通合伙) 51220 代理人 温利平
主权项 一种基于Hadoop的应用层协议识别方法,其特征在于包括以下步骤:(1)、将已知的应用层协议数据包的特征串放入HBase数据库中,所述的特征串的格式为特征字段1、偏移量1、特征字段2、偏移量2、……、特征字段n、偏移量n,特征字段与偏移量之间用分隔符分隔,以便区分;如果特征串的第一个特征字段即特征字段1的偏移量为0,则将该特征串以及特征串的属于那种应用层协议的说明放入HBase数据库的表0中,具体的存放格式为第一个特征字段的前2个字符作为列族,第3、4个字符作为行键,同时,采用列修饰符对该特征串进行编号,其中,列修饰符编号从1开始,以区别前四个字符相同的特征串,将整个特征串以及特征串的属于那种应用层协议的说明作为特征值放入列族、行键和列修饰符对应的表格中;否则,将整个特征串以及特征串的属于那种应用层协议的说明放入HBase数据库的表1中;(2)、首先用Hadoop平台的Map函数对从网络上捕获的数据包进行预处理,提取出应用层协议数据包,然后将提取的应用层协议数据包进行聚类,将相同应用层数据包作为一条数据包进行识别,这样减少了整个程序运行的时间;(3)、用Hadoop平台的Reduce函数对聚类后的应用层协议数据包进行识别:提取聚类后的应用层协议数据包的前4个字符,用这4个字符的前2个字符作为列族,第3、4个字符作为行键,从HBase数据库的表0中提取特征值,并存放在集合A1里;如果集合A1不为空,则用聚类后的应用层协议数据包依次与集合A1中的特征值的特征串进行匹配,如果特征值的特征串的每个特征字段依据其偏移量在应用层协议数据包中找到,则认为特征值匹配成功,一旦特征值匹配成功则将特征值的特征串属于那种应用层协议的返回;否则认为特征值匹配不成功;如果集合A1为空或集合A1不为空但特征值匹配不成功,则从HBase数据库的表1中提取特征值,并存放在集合A2中,然后用聚类后的应用层协议数据包依次与集合A2中的特征值的特征串进行匹配,如果特征值的特征串的每个特征字段依据其偏移量在应用层协议数据包中找到,则认为特征值匹配成功,一 旦特征值匹配成功则将特征值的特征串属于那种应用层协议的返回;否则认为特征值匹配不成功,返回聚类后的应用层协议数据包不能识别。
地址 611731 四川省成都市高新区(西区)西源大道2006号