CN103095718B - 一种基于Hadoop的应用层协议特征提取方法 - Google Patents
一种基于Hadoop的应用层协议特征提取方法 Download PDFInfo
- Publication number
- CN103095718B CN103095718B CN201310034462.0A CN201310034462A CN103095718B CN 103095718 B CN103095718 B CN 103095718B CN 201310034462 A CN201310034462 A CN 201310034462A CN 103095718 B CN103095718 B CN 103095718B
- Authority
- CN
- China
- Prior art keywords
- application layer
- frequent episode
- layer protocol
- feature
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于Hadoop的应用层协议特征提取方法,利用Hadoop平台的MapReduce模型,对目标应用层协议数据包进行扫描,根据最小支持数从备选项筛选出频繁项,并通过组合高位备选项再筛选频繁项的方法找出最长频繁项,再在所有频繁项中用偏移量筛选出互不重叠的频繁项作为特征字段顺序组合形成特征串,根据最小支持数在特征串中筛选出能反映目标应用层协议特征的最终特征串,完成目标应用层协议特征的提取。采用本发明只需要扫描一遍目标应用层协议数据,就能准确的提取出应用层协议的特征,改善了人为进行应用层协议特征提取在面对海量协议数据时的局限性以及特征确定的主观性。
Description
技术领域
本发明属于应用层协议识别技术领域,更为具体地讲,涉及一种基于Hadoop的应用层协议特征提取方法。
背景技术
随着互联网的飞速发展和宽带技术的不断发展,互联网中出现了一些新的需求。伴随着这些需求,应用层协议的形式与种类都较过去更加复杂,并且传统协议的流量在总流量中的比重越来越少,相反,P2P、流媒体、网络游戏等新应用协议不断涌现,因此如何正确的识别这些复杂的协议是现在协议识别算法必须解决的问题。识别协议的方法主要有:基于端口的识别、基于负载的识别、基于测度的识别和基于特征字段的识别。目前基于应用层特征字段的检测技术已成为应用层协议识别的主流方法,但是特征提取还缺乏有效的方法,主要通过人为分析某种应用层协议的规范文档来提取这种协议的特征。随着业务种类快速增长和越来越多非公开自定义协议的采用,通过人为分析进行特征提取变得日益困难,因此需要一种有效提取协议特征的方法。
Cisco预测到2016年,全球将会产生1.3ZB的网络流量,是2011年全球网络流量的4倍,全球平均网速将从现在的9Mbps提高到34Mbps。面对日益增大的网络流量数据,传统的协议特征提取平台已经不能处理了,需要运用云计算来处理这些海量的数据。Hadoop是目前知名的开源系统,可处理PB级数据,运用Hadoop平台来提取协议特征将会有重大的意义。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于Hadoop的应用层协议特征提取方法,高效准确地提取应用层协议特征。
为实现上述发明目的,本发明基于Hadoop的应用层协议特征提取方法,其特征在于包括以下步骤:
(1)、从网络上捕获需要提取特征的目标应用层协议的N个流量数据包,存储为文本格式;
(2)、对文本格式的数据包进行预处理,去掉数据包中与协议无关的数据,去掉链路层、网络层和传输层的协议数据,得到目标应用层协议数据包,对每个目标应用层协议数据包进行标记以示区别,设置最小支持度a,得到最小支持数n=N×a;
(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,1≤i≤N组特征字段的数量为Mi;
(7)、采用Hadoop平台的Reduce函数依次对第i个目标应用层协议数据包进行特征字段组合:将Mi个特征字段进行Mi次组合,在第s,1≤s≤Mi次组合时,任意s个特征字段按偏移量顺序组合为特征串,得到个特征串,Mi次组合共计得到个特征串;
(8)、对步骤(7)得到的N个目标应用层协议数据包的所有特征串,采用Hadoop平台的Reduce函数统计相同特征串对应的不同的数据包标记个数作为该特征串的支持数,若支持数≥最小支持数n,则将该特征串作为待定特征串;
对待定特征串数据包标记进行识别,如果有任意两个及以上待定特征串具有相同的数据包标记,则保留最长的待定特征串,删除其他具有相同数据包标记的待定特征串;
将识别后的待定特征串作为目标应用层协议的最终特征串,完成目标应用层协议特征的提取。
其中,步骤(5)与步骤(6)中的频繁项集中通过hash函数完成。
其中,步骤(6)中的特征字段筛选包括以下步骤:
1)、对于所有具有相同标记的频繁项,统计具有相同偏移量的频繁项,并在具有相同偏移量的频繁项中选取最长的频繁项,共计W个;
2)、将W个频繁项按偏移量排序,将第d=1个频繁项作为第m=1个特征字段存储;
3)、如果d=d+1>W,特征字段筛选结束;否则进入步骤4);
4)、判断第d个频繁项的偏移量是否大于第m个特征字段最后一个字符的偏移量,如果结果为是,进入步骤5);如果结果为否,则不做任何操作,返回步骤3);
5)、将第d个频繁项作为第m=m+1特征字段存储,返回步骤3)。
本发明的发明目的是这样实现的:
本发明基于Hadoop的应用层协议特征提取方法,利用Hadoop平台的MapReduce模型,对目标应用层协议数据包进行扫描,根据最小支持数从备选项筛选出频繁项,并通过组合高位备选项再筛选频繁项的方法找出最长频繁项,再在所有频繁项中用偏移量筛选出互不重叠的频繁项作为特征字段顺序组合形成特征串,根据最小支持数在特征串中筛选出能反映目标应用层协议特征的最终特征串,完成目标应用层协议特征的提取。
本发明基于Hadoop的应用层协议特征提取方法只需要扫描一遍目标应用层协议数据,就能准确的提取出应用层协议的特征,改善了人为进行应用层协议特征提取在面对海量协议数据时的局限性以及特征确定的主观性。
附图说明
图1是本发明基于Hadoop的应用层协议特征提取方法的一种具体实施方式流程图;
图2是本发明基于Hadoop的应用层协议特征提取方法中特征字段筛选方法的一种具体实施方式的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
本发明基于Hadoop的应用层协议特征提取方法是基于Hadoop平台,主要利用了MapReduce模型,对协议数据进行处理。本发明对Map函数和Reduce函数进行了重写,使其满足本发明的数据处理要求。
图1是本发明基于Hadoop的应用层协议特征提取方法的一种具体实施方式流程图。如图1所示,本发明基于Hadoop的应用层协议特征提取方法包括以下步骤:
S101:从网络上捕获需要提取特征的目标应用层协议的N个流量数据包,存储为文本格式。
S102:对文本格式的数据包进行预处理,去掉数据包中与协议无关的数据,去掉链路层、网络层和传输层的协议数据,得到目标应用层协议数据包,对每个目标应用层协议数据包进行标记以示区别,设置最小支持度a,得到最小支持数n=N×a。
S103:对步骤S102得到的目标应用层协议数据包进行扫描,采用Hadoop平台的Map函数以位数为4、步进为2提取备选项,并存储每个备选项对应的数据包标记以及备选项相对于该数据包起始位置的偏移量。
由于现有数据流采用十六进制字符表示,每两位的十六进制代表一位ASCII字符,所以提取步进为2。由于2位的十六进制字符代表256种ASCII组成的字符,通过实验验证,目前常用大小(字节数从10k到100M)的数据包中,所有2位的十六进制字符都是频繁项,因此没有必要将2位的十六进制字符均设为备选项,因此在提取备选项时,以2为步进,每4个字符提取作为一个备选项。
S104:Reduce函数从备选项中选出频繁项并存储;
采用Hadoop平台的Reduce函数统计相同备选项对应的不同的数据包标记个数,作为该备选项的支持数,如果支持数≥最小支持数n,则将备选项作为频繁项进行存储,否则不做任何操作。
S105:统计步骤S104得到的频繁项数量,判断是否频繁项数量≥2,如果结果为是,进入步骤S106;如果结果为否,进入步骤S108。
S106:通过标记和偏移量,用频繁项生成高位备选项。
采用Hadoop平台的Map函数分离频繁项对应的数据包标记,采用Hadoop平台的Reduce函数将数据包标记相同的频繁项集中,将此时频繁项位数记为k;对数据包标记相同的频繁项两两计算偏移量之差,如果两个频繁项偏移量相差为2,将偏移量小的频繁项的前2位与偏移量大的频繁项顺序组合成k+2位的高位备选项,高位备选项的偏移量为偏移量小的频繁项的偏移量;如:x1和x2是两个偏移量相差为2的k位频繁项,对应的偏移量分别为y1和y2,其中y2=y1+2,生成的备选项x3=x1.subString(0,2)+x2,对应的偏移量y3=y1。如果两个频繁项偏移量相差不等于2,则不做任何操作。
本实施方式中,频繁项集中通过hash函数完成。
S107:统计生成的高位备选项个数,如果大于零,返回步骤S104从新生成的高位备选项中选出频繁项,如果等于零,进入步骤S108;
步骤S104至步骤S107构成一个循环,其目的在于找出最长的频繁项。
S108:统计所有频繁项,筛选特征字段;
读取步骤S104产生的所有频繁项,采用Hadoop平台的Map函数分离频繁项对应的数据包标记,采用Hadoop平台的Reduce函数将数据包标记相同的频繁项集中,根据频繁项偏移量进行特征字段筛选,筛选互不重叠的频繁项作为特征字段,得到N个目标应用层协议数据包对应的N组特征字段,第i,1≤i≤N组特征字段的数量为Mi。
图2是本发明基于Hadoop的应用层协议特征提取方法中特征字段筛选方法的一种具体实施方式的流程图。如图2所示,筛选特征字段方法包括以下步骤:
S201:对于所有具有相同标记的频繁项,统计具有相同偏移量的频繁项,并在具有相同偏移量的频繁项中选取最长的频繁项,共计W个。
S202:将W个频繁项按偏移量排序,存放在集合A中。
S203:将集合A中第d=1个频繁项作为第m=1个特征字段存入集合B中。
S204:d=d+1。
S205:判断是否i>W,如果结果为否,则进入步骤S206;如果结果为是,特征字段筛选结束。
S206:计算集合B第m个特征字段中最后一个字符的偏移量X,即该特征字段的偏移量+特征字段长度-1。
S207:判断是否集合A中第d个频繁项的偏移量>X,如果结果为是,则进入步骤S208;如果结果为否,则不做任何操作,返回步骤S204,对集合A中第d+1频繁项进行处理。
S208:将集合A中第i个频繁项作为特征字段存入集合B,m=m+1,返回步骤S204,对集合A中第d+1频繁项进行处理。
S204至S208构成循环,其目的在于从所有具有相同标记的频繁项,即同一个目标应用层数据包的频繁项中筛选互不重叠的频繁项作为特征字段。
S109:采用特征字段构成特征串;
采用Hadoop平台的Reduce函数依次对第i个目标应用层协议数据包进行特征字段组合:将Mi个特征字段进行Mi次组合,在第s,1≤s≤Mi次组合时,任意s个特征字段按偏移量进行顺序组合为特征串,得到个特征串,Mi次组合共计得到个特征串。
S110:选出最终特征串;
对步骤S109得到的N个目标应用层协议数据包的所有特征串,采用Hadoop平台的Reduce函数统计相同特征串对应的不同的数据包标记个数作为该特征串的支持数,若支持数≥最小支持数n,则将该特征串作为待定特征串,否则不做任何操作;
对待定特征串数据包标记进行识别,如果有任意两个及以上待定特征串具有相同的数据包标记,则保留最长的待定特征串对应的该数据包标记,删除其他待定特征串对应的该数据包标记;否则不做任何操作;
统计待定特征串的支持数,若支持数≥最小支持数n,则将该特征串作为目标应用层协议的最终特征串,即含有此最终特征串的数据包属于同一种应用层协议,否则不做任何操作。
实施例1
对网络上的流量数据包进行捕获,选取的数据包包括2种类型的HTTP协议,两个版本的OICQ协议,每个OICQ协议版本包括3种类型。为更好地说明实施过程,本实施例仅选取了53条数据包,并对过长的数据包进行了一定量的删减。本实施例中,设定最小支持度a=0.1,因此最小支持数n=53×0.1≈5,每个数据包的标记从1开始递增,经过预处理之后的数据形式为:
1_0230370081bac10000007616cbf90594f97a4a60f9087309f1129a98c046b400fe8b831e1efa64607866eca88782e64872f73bf1075d583f2c1fe9a98d8f7b0068a998db0189952e4ab203
2_0230370081310000000a787c52eebc39ba2941cf14b9e735f56de72aa4ebcd01474a741cf14b9e735f56de72aa4ebcd01474a728ae5e9e06d8719f726f6518c9019c237d89e047022fd5e7174215af4b4067fa42c5e189b13a6403
……
53_02303700583275000000aa2a269a4b12ff24bfe5731db5397763ed482a4a22f184af08108be5dd5a07b703
表1与表1(续)为步骤S104选出的频繁项及其数据包标记和偏移量。
表1
表1(续)
从表1可以看出,频繁项数量≥2,因此进入步骤S106通过标记和偏移量,用频繁项生成高位备选项。
如表1中频繁项022f,其对应的某一数据包标记与偏移量为9_0,另一频繁项2f59,其对应的某一数据包标记与偏移量为9_2,二者偏移量之差为2-0=2,识别此时频繁项长度为4,则可生成4+2=6位的高位备选项。由于频繁项022f偏移量小,取其前2位字符02,与频繁项2f59可组成022f59,偏移量为0。
表2为步骤S106第1次位数为6的高位备选项的运行结果。
表2
统计生成的高位备选项个数,从表2中可看出大于零,因此返回步骤S104继续进行下一次循环。
表3与表3(续)为循环过程中步骤S104的频繁项和步骤S106和高位备选项运行结果。
表3
表3(续)
在第15次循环时,步骤S104得到频繁项数量为1,循环结束,进入步骤S108构成特征串。
读取15次循环中存储的所有频繁项,采用Hadoop平台的Map函数分离频繁项对应的数据包标记,采用Hadoop平台的Reduce函数将数据包标记相同的频繁项集中,根据频繁项偏移量进行特征字段筛选,筛选互不重叠的频繁项作为特征字段。
如对于标记为9的目标应用层协议数据包,集合A中包含所有数据包标记为9的特征字段,某一时刻集合B中包含1个特征字段,第1个特征字段为022f590081,其对应的数据包标记和偏移量为9_0,长度为10,计算可知其最后一个字符的偏移量为0+10-1=9。对频繁项2f59,9_2进行处理,频繁项2f59对应的偏移量为2,小于9,因此不做任何操作。下一个频繁项为0000,9_14,对应的偏移量为14,大于9,因此将频繁项0000作为第2个特征字段存储,继续对下一个频繁项进行处理。
共计得到53组特征字段,依次对第i个目标应用层协议数据包进行特征字段组合。如某个目标应用层协议数据包对应的特征字段数量为3,分别为A、B、C,对这3个特征字段进行3次组合:
第1次,任意1个特征字段按偏移量顺序组合为特征串,得到3个特征串A、B、C;
第2次,任意2个特征字段按偏移量顺序组合为特征串,得到3个特征串A_B、B_C、A_C;
第3次,任意3个特征字段按偏移量顺序组合为特征串,得到1个特征串A_B_C。
可见,3次组合共计得到特征串23-1=7个。
表4为本实施例中由53组特征字段组成的所有特征串。
所有特征串 | 标记 |
0230370081 | 1 |
0230370081_000000 | 1 |
000000 | 1 |
022f590081 | 10 |
022f590081_000000 | 10 |
000000 | 10 |
022f590081 | 11 |
022f590081_000000 | 11 |
000000 | 11 |
…… | …… |
474554202f | 15 |
474554202f_6368 | 15 |
474554202f_6368_312e | 15 |
474554202f_6368_312e_20485454502f312e310d0a | 15 |
474554202f_6368_20485454502f312e310d0a | 15 |
474554202f_312e | 15 |
474554202f_312e_20485454502f312e310d0a | 15 |
…… | …… |
022f590081 | 8 |
022f590081_000000 | 8 |
000000 | 8 |
022f590081 | 9 |
022f590081_000000 | 9 |
000000 | 9 |
表4
采用Hadoop平台的Reduce函数统计相同特征串对应的不同的数据包标记个数作为该特征串的支持数,根据支持数筛选待定特征串:如特征串000000的支持数为18,大于最小支持数5,则将特征串000000作为待定特征串。
表5为筛选出的待定特征串。
表5
对待定特征串进行数据包标记处理,如待定特征串000000、022f590081、022f590081_000000所对应的数据包标记均包括标记9,其中特征串022f590081_000000最长,保留其所对应的数据包标记9,删除特征串000000、022f590081所对应的数据包标记9。
表6为经过数据包标记处理的待定特征串。
待定特征串 | 标记 |
022f590027_000000 | 41_40_35_36_37_39_38 |
022f590058_000000 | 30_34_33_32_31 |
022f590081_000000 | 9_8_12_10_11_7 |
0230370027_000000 | 47_42_46_45_48_44_43 |
0230370058_000000 | 52_49_53_50_51 |
0230370081_000000 | 6_5_1_4_3_2 |
474554202f_20485454502f312e310d0a | 14_17_16_13_19_15_18_20 |
485454502f312e3120323030204f4b0d0a | 28 |
485454502f312e3120323030204f4b0d0a_0d0a | 22_24 |
485454502f312e3120323030204f4b0d0a_0d0a0d0a | 27_21_23_29_26_25 |
表6
统计经数据包标记处理的待定特征串的支持数,根据支持数筛选待定特征串:如待定特征串022f590027_000000的支持数为7,大于最小支持数5,则将特征串022f590027_000000作为最终特征串;待定特征串485454502f312e3120323030204f4b0d0a的支持数为1,小于最小支持数5,则不做任何操作。
表7为筛选出的最终特征串。
最终特征串 | 支持数 |
022f590027_000000 | 7 |
022f590058_000000 | 5 |
022f590081_000000 | 6 |
0230370027_000000 | 7 |
0230370058_000000 | 5 |
0230370081_000000 | 6 |
474554202f_20485454502f312e310d0a | 8 |
485454502f312e3120323030204f4b0d0a_0d0a0d0a | 6 |
表7
从表7可以看出,从第1行到第6行,02代表OICQ数据包,2f59和3037表示版本号,0027表示Get friend online命令,0058表示Download group friend命令,0081表示Get status of friend命令,000000表示后面将要开始传输数据了。第7行数据中474554202f表示GET/命令,20485454502f312e310d0a表示HTTP/1.1,这是HTTP通过GET命令请求数据的特征。第8行数据485454502f312e3120323030204f4b0d0a表示HTTP/1.1200OK,这是HTTP协议相应中的一种。可见,本发明所提取的最终特征串能良好反映协议的数据特征。
实施例2
对网络上的流量数据包进行捕获,从中选出FTP协议的数据包,大小为13.9MB,共有44345个数据包。本实施例中,设定最小支持度a=0.02,因此最小支持数n=44345×0.02≈887。预处理后的数据形如:
25674_3232362d46696c65207375636365737366756c6c79207472616e736665727265640d0a32323620302e303138207365636f6e6473202c20312e3230204d627974657320706572207365636f6e640d0a
25780_3232302d53747564656e74656e204e6574205477656e7465687474703a2f2f7777772e736e742e757477656e74652e6e6c2f200d0a3232302d74686520556e6976657273697479206f66205477656e7465687474703a2f2f7777772e757477656e74652e6e6c2f20200d0a3232302d0d0a3232302d546869732073797374656d206d6179206265207573656420323420686f7572732061206461792c20
43888_323530204469726563746f7279207375636365737366756c6c79206368616e6765642e0d0a
43872_3235302d0d0a
实施例2中备选项、频繁项以及待定特征串的处理过程与实施例1类似。
表6为实施例2的最终特征串运行结果。
表6
从表6中可以看出,采用本发明得到的实施例2的最终特征串,可良好反映目标应用层协议——FTP协议的数据特征。
从两个实施例可见,本发明基于Hadoop的应用层协议特征提取方法只需要扫描一遍经预处理的应用层协议数据,就能准确的提取出目标应用层协议的特征。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (3)
1.一种基于Hadoop的应用层协议特征提取方法,其特征在于包括以下步骤:
(1)、从网络上捕获需要提取特征的目标应用层协议的流量数据包,存储为文本格式;
(2)、对文本格式的数据包进行预处理,去掉数据包中与协议无关的数据,去掉链路层、网络层和传输层的协议数据,得到目标应用层协议数据包,对每个目标应用层协议数据包进行标记以示区别,设置最小支持度a,a的取值范围为0<a<1,得到最小支持数n=N×a,N表示步骤(1)中捕获的数据包数量;
(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,则将该特征串作为待定特征串,否则不做任何操作;
对待定特征串数据包标记进行识别,如果有任意两个及以上待定特征串具有相同的数据包标记,则保留最长的待定特征串对应的该数据包标记,删除其他待定特征串对应的该数据包标记;否则不做任何操作;
统计待定特征串的支持数,若支持数≥最小支持数n,则将该特征串作为目标应用层协议的最终特征串,否则不作任何操作。
2.根据权利要求1所述的基于Hadoop的应用层协议特征提取方法,其特征在于,所述的步骤(5)与步骤(6)中的频繁项集中通过hash函数完成。
3.根据权利要求1所述的基于Hadoop的应用层协议特征提取方法,其特征在于,所述的步骤(6)中的特征字段筛选包括以下步骤:
1)、对于所有具有相同标记的频繁项,统计具有相同偏移量的频繁项,并在具有相同偏移量的频繁项中选取最长的频繁项,共计W个;
2)、将W个频繁项按偏移量排序,将第d=1个频繁项作为第m=1个特征字段存储;
3)、如果d=d+1>W,特征字段筛选结束;否则进入步骤4);
4)、判断第d个频繁项的偏移量是否大于第m个特征字段最后一个字符的偏移量,如果结果为是,进入步骤4);如果结果为否,则不做任何操作,返回步骤3);
5)、将第d个频繁项作为第m=m+1特征字段存储,返回步骤3)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310034462.0A CN103095718B (zh) | 2013-01-29 | 2013-01-29 | 一种基于Hadoop的应用层协议特征提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310034462.0A CN103095718B (zh) | 2013-01-29 | 2013-01-29 | 一种基于Hadoop的应用层协议特征提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103095718A CN103095718A (zh) | 2013-05-08 |
CN103095718B true CN103095718B (zh) | 2015-07-15 |
Family
ID=48207851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310034462.0A Expired - Fee Related CN103095718B (zh) | 2013-01-29 | 2013-01-29 | 一种基于Hadoop的应用层协议特征提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103095718B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079450B (zh) * | 2014-06-23 | 2017-10-17 | 北京邮电大学 | 特征模式集生成方法及装置 |
CN108092792A (zh) * | 2016-11-23 | 2018-05-29 | 中国移动通信集团湖北有限公司 | 一种ott应用字节流特征提取方法和装置 |
CN107862070B (zh) * | 2017-11-22 | 2021-08-10 | 华南理工大学 | 基于文本聚类的线上课堂讨论短文本即时分组方法及系统 |
CN110443560B (zh) * | 2019-06-14 | 2024-04-02 | 平安科技(深圳)有限公司 | 一种协议数据管理方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282251A (zh) * | 2008-05-08 | 2008-10-08 | 中国科学院计算技术研究所 | 一种应用层协议识别特征挖掘方法 |
CN101741908A (zh) * | 2009-12-25 | 2010-06-16 | 青岛朗讯科技通讯设备有限公司 | 一种应用层协议特征的识别方法 |
CN101753622A (zh) * | 2009-12-25 | 2010-06-23 | 青岛朗讯科技通讯设备有限公司 | 一种应用层协议特征的提取方法 |
-
2013
- 2013-01-29 CN CN201310034462.0A patent/CN103095718B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282251A (zh) * | 2008-05-08 | 2008-10-08 | 中国科学院计算技术研究所 | 一种应用层协议识别特征挖掘方法 |
CN101741908A (zh) * | 2009-12-25 | 2010-06-16 | 青岛朗讯科技通讯设备有限公司 | 一种应用层协议特征的识别方法 |
CN101753622A (zh) * | 2009-12-25 | 2010-06-23 | 青岛朗讯科技通讯设备有限公司 | 一种应用层协议特征的提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103095718A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI683587B (zh) | 用於唯一枚舉解析樹中的路徑的裝置和方法 | |
CN102737057B (zh) | 一种商品类目信息的确定方法及装置 | |
CN105491060B (zh) | 防御分布式拒绝服务攻击的方法、装置、客户端及设备 | |
CN104244035B (zh) | 基于多层聚类的网络视频流分类方法 | |
CN103095718B (zh) | 一种基于Hadoop的应用层协议特征提取方法 | |
CN105847078B (zh) | 一种基于dpi自学习机制的http流量精细化识别方法 | |
CN106790170B (zh) | 一种数据包过滤方法及装置 | |
CN103200133A (zh) | 一种基于网络流引力聚类的流量识别方法 | |
CN104579941A (zh) | 一种OpenFlow交换机中的报文分类方法 | |
CN105072196B (zh) | 分布式数据包存储、回溯方法及系统 | |
CN104468357A (zh) | 流表的多级化方法、多级流表处理方法及装置 | |
CN101345707A (zh) | 一种实现IPv6报文分类的方法及设备 | |
CN104778258A (zh) | 一种面向协议数据流的数据抽取方法 | |
CN106850547A (zh) | 一种基于http协议的数据还原方法及系统 | |
CN110083746B (zh) | 一种基于字符串的快速匹配识别方法和装置 | |
CN101184000A (zh) | 基于报文采样和应用签名的互联网应用流量识别方法 | |
CN106685862B (zh) | 一种分片数据包处理方法及装置 | |
CN104333483A (zh) | 互联网应用流量识别方法、系统及识别装置 | |
CN102752216A (zh) | 一种识别动态特征应用流量的方法 | |
CN103281291B (zh) | 一种基于Hadoop的应用层协议识别方法 | |
CN108460030A (zh) | 一种基于改进的布隆过滤器的集合元素判断方法 | |
CN104253863B (zh) | 一种基于Hadoop平台和分布式处理编程模型的TCP流重组方法 | |
CN103927325B (zh) | 一种对url进行分类的方法及装置 | |
CN106227741B (zh) | 一种基于多级哈希索引链表的大规模url匹配方法 | |
CN106063228A (zh) | 利用准确匹配的一致性哈希在硬件负载平衡的应用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150715 Termination date: 20190129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |