网络流量自动化特征挖掘方法

文档序号:7550025阅读:331来源:国知局
专利名称:网络流量自动化特征挖掘方法
技术领域
本发明涉及网络流量技术领域,特别涉及一种网络流量自动化特征挖掘方法。
背景技术
自动化特征挖掘是网络流量分类技术领域中存在的基本问题之一。其需要解决的问题就是快速而准确地自动化式挖掘出不同应用产生的网络流量所存在的特征,以便于更好地管理和监控互联网网络。在计算机科学以及数据挖掘领域中,Apriori是关联式规则中的经典算法之一。Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。随着计算机网络的普及,网络应用的数量日益增长,新的版本、新的应用给网络流量的管理和监控带来了愈来愈多的困难,也给强特征识别这种当前在互联网流量管理中起主要作用的流量识别手段带来很大的挑战。而这其中,最关键的问题是依赖传统的人工搜寻众多应用强特征的方法十分耗时、耗力,因此人们开始急需一种自动化的特征挖掘方法,以跟上众多应用不同版本下流量特征快速变化的特点。因此,如何设计一种自动化特征挖掘的方法成为了当前网络流量管理和监控的核心问题。尽管Apriori算法作为挖掘大量数据下频繁项的有力方法符合我们在解决自动化特征挖掘难题中的部分需求。但是产生大量的候选集以及需要重复扫描数据库一直是Apriori算法的两大缺点,这两点缺点严重影响了在网络流量特征自动化挖掘中的效能。因此,我们迫切需要引入新的思路和方法,来解决自动化特征挖掘算法中存在的效果和性能双重问题,使之更适用于帮助我们对网络流量的自动化分析和管控。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是,针对现有技术不足,提供一种网络流量自动化特征挖掘方法,可有效地自动化挖掘网络流量中所存在的特征(包括载荷特征和统计特征),减少人工参与的程度。(二)技术方案本发明提供一种网络流量自动化特征挖掘方法,包括步骤S1 :网络流量数据的预处理;S2 :最高支持度频繁项挖掘;S3 :依据频繁项层次化迭代聚类;S4 :按层次分级输出有效特征组合。其中,SI包括S1.1 :捕获网络流量信息;S1. 2 :预处理捕获流量,提取其流量载荷特征和流特征;S1. 3 :格式化打印输出已提取的载荷特征和流特征。

其中,S1.1包括S1.1.1 :利用Wireshark或者Tcpdump抓包软件或工具在本机或出口网关上捕获网络流量;s1.1. 2 :根据流量过滤规则过滤出指定应用的网络流量。
其中,S1. 2包括S1. 2.1 :将已得到的网络流量输入Iibnids流量处理系统中;载荷特征为数据包载荷部分的字节值,流特征为网络流的统计特征,如数据包包长。其中,S1. 3包括S1. 3.1 :将提取到的网络流中每个数据包的载荷的每个字节转换为两位16进制表示,并分别添加三位16进制数表示每个字节在所属数据包中全部载荷内的序号位置,注意将同属一个数据包载荷部分的数据排列成一行,这样对于N个数据包则存在N行数据,其中每行数据中每一列均为5位16进制数;S1. 3. 2 :将提取到的网络流中的流特征,如数据包包长大小,也转换为三位16进制数表示,并分别添加四位16进制数表示每个数据包在五元组网络流中的序号位置,注意将同属一个网络流的数据排列成一行,这样对于N条网络流则存在N行数据,其中每行数据中每一列均为7位16进制数。其中,S2包括S2.1 :利用Apriori算法计算针对载荷特征的N行数据或者针对流特征的N行数据的最高支持度的频繁项;S2. 2 :根据S2.1计算得到的最高支持度的频繁项,将所有包含此频繁项的行聚为一类,并将其设为A类,将其余不包含此最高支持度频繁项的行聚为另一类,并将其设为B类;S2. 3 :将S2. 2中得到的B类再次利用Apriori算法计算其最高支持度的频繁项,并将包含此频繁项的行聚为一类,将其设为C类,将所述B类中不包含此最高支持度频繁项的行聚为另一类,并将其设为D类;S2. 4 :每次将不包含最高支持度频繁项的类重复执行S2. 3,直到全部行聚类完成,且每类中高支持度频繁项的支持度均为I。其中,在S3中S3.1 :设在S2中所有行共聚为M类,对于M类中的每一类再继续重复执行S2,此时再计算最高支持度时仍须排除前面已被找到并据此聚类的频繁项;S3. 2 第一次执行S2得到的为自动化特征挖掘的第一层特征数据,第二次对于M类中每一类执行S2的得到的为自动化特征挖掘的第二层特征数据,以此类推,直到迭代完成至无法继续聚类。其中,S4包括S4.1 :保存S2和S3执行过程中每一类的最高支持度频繁项及其所存在于的特征行数目大小;S 4. 2 :展示步骤S4.1得到的各项层级数据,同时可根据阈值智能提取能覆盖所有N行数据比例超过阈值的所有有效特征组合并输出。(三)有益效果本发明的方法可以应用于网络流量分析中的自动化特征挖掘,该方法可以自动挖掘出网络流量里所存在的载荷特征和统计特征,其中包括带有间隔的强特征序列。此发明在减少人工参与、解决传统特征挖掘耗时耗力问题的同时,还从效果和速度两方面性能上相对原始的Apriori算法有了很大提升,不仅能够合理地展示网络流量中所存在的各项特征,而且处理数据的时间复杂度远小于Apriori算法,能够很好地应用到实际的网络流量特征挖掘中去。


图1为本发明网络流量自动化特征挖掘方法步骤流程图;图2为本发明网络流量自动化特征挖掘方法中格式化输入数据示意图;图3为本发明网络流量自动化特征挖掘结果简化示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。如图1所示,本发明提供的网络流量自动化特征挖掘方法,包括步骤S1:网络流量数据的预处理,其结果如图2所示;S2 :最高支持度频繁项挖掘;S3 :依据频繁项层次化迭代聚类;S4 :按层次分级输出有效特征组合,其可视化结果如图3所示。其中,SI包括S1.1 :捕犾网络流量彳目息;S1. 2 :预处理捕获流量,提取其流量载荷特征和流特征;S1. 3 :格式化打印输出已提取的载荷特征和流特征。

其中,S1.1包括:S1.1.1 :利用Wireshark或者Tcpdump抓包软件或工具在本机或出口网关上捕获网络流量;(Wireshark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析;它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or, not等逻辑语句来帮助你去掉无用的信息。)S1.1. 2 :根据流量过滤规则过滤出指定应用的网络流量。其中,S1. 2包括S1. 2.1 :将已得到的网络流量输入Iibnids流量处理系统中;S1. 2. 2 :提取特定五元组网络流的特征,特征分为载荷特征和流特征,载荷特征为数据包载荷部分的字节值,流特征为网络流的统计特征,如数据包包长;其中,S1. 3包括S1. 3.1 :将提取到的网络流中每个数据包的载荷的每个字节转换为两位16进制表示,例如0x31代表该字节值为数字“ I”(根据ASCII码表),并分别添加三位16进制数表示每个字节在所属数据包中全部载荷内的序号位置,例如载荷部分第一个字节表示为0x000,注意将同属一个数据包载荷部分的数据排列成一行,这样对于N个数据包则存在N行数据,其中每行数据中每一列均为5位16进制数,即00031 (代表一个字节的载荷特征);S1. 3. 2 :将提取到的网络流中的流特征,如数据包包长大小,也转换为三位16进制数表示,例如0x010,并分别添加四位16进制数表示每个数据包在五元组网络流中的序号位置,例如第5个数据包表示为0x0004,注意将同属一个网络流的数据排列成一行,这样对于N条网络流则存在N行数据,其中每行数据中每一列均为7位16进制数,即0004010(代表一个数据包的统计特征)。其中,S2包括S2.1 :利用Apriori算法计算针对载荷特征的N行数据或者针对流特征的N行数据的最高支持度的频繁项(S2.1步骤后载荷特征和流特征统称为特征);S2. 2 :根据S2.1计算得到的最高支持度的频繁项,将所有包含此频繁项的行聚为一类,并将其设为A类,将其余不包含此最高支持度频繁项的行聚为另一类,并将其设为B类;
S2. 3 :将S2. 2中得到的B类再次利用Apriori算法计算其最高支持度的频繁项(注意此次计算最高支持度时须排除前面操作已被找到并据此聚类的频繁项),并将包含此频繁项的行聚为一类,将其设为C类,将B类中不包含此最高支持度频繁项的行聚为另一类,并将其设为D类;S2. 4 :每次将不包含最高支持度频繁项的类重复执行S2. 3,直到全部行聚类完成,且每类中高支持度频繁项的支持度均为I。其中,S3中S3.1 :设在S2中所有行共聚为M类,那么对于M类中的每一类再继续重复执行S2,注意此时再计算最高支持度时仍须排除前面已被找到并据此聚类的频繁项;S3. 2 :第一次执行S2得到的为自动化特征挖掘的第一层特征数据,第二次对于M类中每一类执行S2的得到的为自动化特征挖掘的第二层特征数据,以此类推,直到迭代完成至无法继续聚类。其中,S4包括S4.1 :保存S2和S3 执行过程中每一类的最高支持度频繁项及其所存在于的特征行数目大小;S4. 2 :可视化展示步骤S4.1得到的各项层级数据,同时可根据阈值(覆盖N行特征的比例大小,例如O. 98)智能提取能覆盖所有N行数据比例超过阈值的所有有效特征组合并输出,例如载荷特征00202和载荷特征00203覆盖了超过98%的数据包,那么我们便可以将00202和00203作为网络流量中识别此应用的特征。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种网络流量自动化特征挖掘方法,其特征在于,包括步骤S1:网络流量数据的预处理;S2:最高支持度频繁项挖掘;S3:依据频繁项层次化迭代聚类;S4:按层次分级输出有效特征组合。
2.如权利要求1所述的方法,其特征在于,SI包括S1.1 :捕获网络流量信息;S1. 2 :预处理捕获流量,提取其流量载荷特征和流特征;S1. 3 :格式化打印输出已提取的载荷特征和流特征。
3.如权利要求2所述的方法,其特征在于,S1.1包括S1.1.1 :利用Wireshark或者Tcpdump抓包软件或工具在本机或出口网关上捕获网络流量;S1.1. 2 :根据流量过滤规则过滤出指定应用的网络流量。
4.如权利要求2所述的方法,其特征在于,S1.2包括S1. 2.1 :将已得到的网络流量输入Iibnids流量处理系统中;S1. 2. 2 :提取特定五元组网络流的特征,特征分为载荷特征和流特征,载荷特征为数据包载荷部分的字节值,流特征为网络流的统计特征,如数据包包长;
5.如权利要求2所述的方法,其特征在于,S1.3包括S1. 3.1 :将提取到的网络流中每个数据包的载荷的每个字节转换为两位16进制表示,并分别添加三位16进制数表示每个字节在所属数据包中全部载荷内的序号位置,注意将同属一个数据包载荷部分的数据排列成一行,这样对于N个数据包则存在N行数据,其中每行数据中每一列均为5位16进制数。51.3. 2 :将提取到的网络流中的流特征,如数据包包长大小,也转换为三位16进制数表示,并分别添加四位16进制数表示每个数据包在五元组网络流中的序号位置,注意将同属一个网络流的数据排列成一行,这样对于N条网络流则存在N行数据,其中每行数据中每一列均为7位16进制数。
6.如权利要求1所述的方法,其特征在于,S2包括S2.1 :利用Apriori算法计算针对载荷特征的N行数据或者针对流特征的N行数据的最高支持度的频繁项;S2. 2 :根据S2.1计算得到的最高支持度的频繁项,将所有包含此频繁项的行聚为一类,并将其设为A类,将其余不包含此最高支持度频繁项的行聚为另一类,并将其设为B类;S2. 3 :将S2. 2中得到的B类再次利用Apriori算法计算其最高支持度的频繁项,并将包含此频繁项的行聚为一类,将其设为C类,将所述B类中不包含此最高支持度频繁项的行聚为另一类,并将其设为D类;S2.4 :每次将不包含最高支持度频繁项的类重复执行S2. 3,直到全部行聚类完成,且每类中高支持度频繁项的支持度均为I。
7.如权利要求1所述的方法,其特征在于,在S3中S3.1 :设在S2中所有行共聚为M类,对于M类中的每一类再继续重复执行S2,此时再计算最高支持度时仍须排除前面已被找到并据此聚类的频繁项;·53.2 :第一次执行S2得到的为自动化特征挖掘的第一层特征数据,第二次对于M类中每一类执行S2的得到的为自动化特征挖掘的第二层特征数据,以此类推,直到迭代完成至无法继续聚类。
8.如权利要求1所述的方法,其特征在于,S4包括·54.1 :保存S2和S3执行过程中每一类的最高支持度频繁项及其所存在于的特征行数目大小;·S4.2 :展示步骤S4.1得到的各项层级数据,同时可根据阈值智能提取能覆盖所有N行数据比例超过阈值的所有有效特征组合并输出。
全文摘要
本发明公开了一种针对网络流量的自动化特征挖掘方法,包括步骤S1网络流量数据的预处理;S2最高支持度频繁项挖掘;S3依据频繁项层次化迭代聚类;S4按层次分级输出有效特征组合。本发明的方法可以应用于自动化网络流量特征挖掘,不仅可以自动挖掘出网络流量中数据包载荷里所存在的强特征,而且还可以挖掘出网络流量中所存在的流特征;该发明解决了传统流量特征挖掘耗时耗力问题,大幅减少了人工参与的程度,同时在性能上能够很好地应用到实际的网络流量特征挖掘中去。
文档编号H04L12/811GK103067300SQ20131000802
公开日2013年4月24日 申请日期2013年1月9日 优先权日2013年1月9日
发明者薛一波, 袁振龙 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1