CN101505314A - 一种p2p数据流的识别方法、装置和系统 - Google Patents
一种p2p数据流的识别方法、装置和系统 Download PDFInfo
- Publication number
- CN101505314A CN101505314A CNA2008101891313A CN200810189131A CN101505314A CN 101505314 A CN101505314 A CN 101505314A CN A2008101891313 A CNA2008101891313 A CN A2008101891313A CN 200810189131 A CN200810189131 A CN 200810189131A CN 101505314 A CN101505314 A CN 101505314A
- Authority
- CN
- China
- Prior art keywords
- data flow
- identified
- data
- characteristic value
- traffic characteristic
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种对等网络P2P数据流的识别方法、网络装置和网络系统,该方法包括:从捕获的待识别数据流的数据包中获取流量特征值;将所述流量特征值作为识别单元的输入特征向量;将所述输入特征向量输入到预先完成训练的识别单元中,由所述识别单元识别待识别数据流是否为P2P数据流。该网络装置包括:流量特征值获取单元,用于从捕获的待识别数据流中获取数据包的流量特征值;识别单元,用于根据所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。通过本发明实施例,可以更准确地识别P2P数据流。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种P2P数据流的识别方法和装置。
背景技术
对等网络(P2P,Peer to Peer)中的每个参与者既是资源提供者(即服务器端),又是资源获取者(即客户端)。P2P不仅仅是用于文件共享,还应用于建立基于P2P形式的通信网络、P2P计算或其他资源的共享等很多方面。为了向运营商提高服务质量(QoS)提供技术支持,同时也可以为对等网络上的内容监管(如恶意代码识别、病毒防御)提供保障,对P2P网络的数据流的快速识别是非常必要的。但是P2P网络具有自身的特点,如流量特征值和行为特征的不确定性,载荷的加密性等。
现有技术中实现P2P数据流量检测的一种方法为流量统计检测方法,该方法基于P2P的非常规流量特征值,对数据量进行统计分析,从统计上来判断该数据流流量是否为P2P数据流量,目前这种方法中选取分析的流量特征值一般为持续时间长,流量非突发性,上行和下行的流量对称等简单的流量统计用的特征,但是这些特征都不是P2P数据流量唯一的,其他应用也可能表现出这种流量特性。因此这种方法对于P2P数据流量的判断经常出现误判的情况。
发明人在实现本发明的过程中,发现现有技术至少有以下缺陷:
现有技术中的流量统计检测方法由于统计方法简单,因此该方法只能对数据流的简单流量特征进行简单的统计,而这种简单的统计导致误判现象的发生,准确率不高。
发明内容
本发明实施例提供一种P2P数据流的识别方法和识别装置,以能够准确识别待识别数据流是否为P2P数据流。
本发明实施例提供了如下技术方案:
一种对等网络P2P数据流的识别方法,包括:
从捕获的待识别数据流的数据包中获取流量特征值;
将所述流量特征值作为识别单元的输入特征向量;
将所述输入特征向量输入到预先完成训练的识别单元中,由所述识别单元识别待识别数据流是否为P2P数据流。
一种网络装置,包括:
流量特征值获取单元,用于从捕获的待识别数据流中获取数据包的流量特征值;
识别单元,用于根据所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。
一种网络系统,包括至少两个通信设备和网络装置,所述通信设备之间进行通信,所述网络装置用于捕获所述通信设备之间通信的数据流,从获取捕获的待识别数据流中获取数据包的流量特征值,根据由所述流量特征值组成的输入特征向量识别所述数据流是否为P2P数据流。
本发明实施例利用识别单元根据待识别数据流的流量特征值组成的输入特征向量对待识别数据流进行识别,由于利用流量特征值进行识别可以克服仅仅利用深层数据包检测方法产生的不能识别未知P2P数据流的缺点,所以本实施例提供的方法、装置和系统对P2P数据流的识别具有很好的可扩展性,而且将利用识别单元进行识别,又可以完成现有技术中无法完成的复杂统计和识别过程,所以识别结果更准确。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种P2P数据流的识别方法的流程图;
图2是本发明实施例一提供的一种P2P数据流的识别方法的流程图;
图3是本发明实施例二提供的获取待识别数据流的数据包长度抖动频次的方法流程图;
图4是本发明实施例二中发生抖动的数据包位置的示意图;
图5是本发明实施例四提供的一种P2P数据流的识别方法的流程图;
图6是本发明实施例五提供的一种网络装置的示意图;
图7是本发明实施例六提供的一种网络装置的示意图;
图8是本发明实施例七提供的一种网络装置的示意图;
图9是本发明实施例八提供的一种网络系统的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可以应用于固定网络、移动网络、或固定移动融合网络等。
本发明实施例提供一种P2P数据流的识别方法,如图1所示,该方法可以包括如下步骤:
S1:从捕获的待识别数据流中的数据包中获取流量特征值;
S2:将所述流量特征值作为识别单元的输入特征向量;
S3:将所述输入特征向量输入到预先完成训练的识别单元中,由所述识别单元识别待识别数据流是否为P2P数据流。
上述识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(BackPropagation,后向传播)神经网络。
本发明实施例的方法的执行主体可以为服务器或其他设备,所述识别单元可以包含在所述服务器中;本发明实施例的方法可以应用于固定网络、移动网络、或固定移动融合网络等。
BP(Back Propagation,后向传播)神经网络通常采用三层网络结构,分别为:输入层,隐含层,输出层。其中,通常将各个输入层节点输入值的组成在一起形成的向量称为该BP神经网络的输入特征向量。在本发明实施例中,BP神经网络各个输入层节点的输入值可以是选择的待识别数据流的各个流量特征值,所以本实施例中BP神经网络的输入特征向量就是由选择的待识别数据流的各个流量特征值组成。流量特征值可以包括:开始时间、结束时间、服务类型、每个数据流的数据包长度平均值、每个数据流的数据包字节数和每个数据流的数据包数目等。
通过本发明实施例,可以更准确地识别P2P数据流。
下面结合附图对本发明实施例作详细说明。
实施例一
本发明实施例一提供一种P2P数据流的识别方法,参见图2,该方法可以包括如下步骤:
步骤S201:从网络中捕获待识别数据流的数据包;
步骤S202:从捕获的数据包中获取流量特征值;
其中,所述获取的流量特征值包括获取原始的流量特征值,也包括对原始流量特征值进行转换或结合得到的流量特征值。原始流量特征值可以包括开始时间、结束时间、服务类型、每个数据流的数据包长度平均值、每个数据流的数据包字节数和每个数据流的数据包数目等。
步骤S203:将所述流量特征值作为识别单元的输入特征向量;
输入到识别单元中的各个量组合在一起可以称为识别单元的输入特征向量,在本实施例中,输入到识别单元中的输入特征向量为上述获取的待识别数据流的流量特征值。例如,对于识别单元采用神经网络,其输入层的各个结点分别用于输入上述输入特征向量中的各个流量特征值。
步骤S204:预先完成训练的识别单元根据输入特征向量识别待识别数据流是否为P2P数据流。
本发明实施例方法可以根据实际需要对各个步骤顺序进行调整。
上述识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(BackPropagation,后向传播)神经网络。
识别单元在用于识别实际的网络环境中的待识别数据流时,应该首先根据实际识别的需要进行训练,由于本发明实施例中识别单元是用来识别P2P数据流的,因此需要首先利用已知的P2P数据流和非P2P的其他服务数据流获得多组训练样本,并用训练样本对识别单元进行训练。训练完成的识别单元才可以用于实际的P2P数据流的识别。
通常,P2P数据流与其他服务的数据流之间有很多流量特征值上的差异,P2P数据流在持续时间,平均传输速率和每个流总共的字节数上都不同于其它服务的数据流,这些行为可以用开始时间、结束时间、服务类型、每个数据流的数据包长度平均值、每个流的包字节数和每个流的包数目等值来表示。例如,区分P2P数据流和FTP数据流的一种方法是根据是否有用户交互,表示数据流中的用户交互的流量特征值可以为每个数据流的数据包长度均方差,因为P2P数据流的数据包有长度变化并且变化的跨度比较大,所以每个P2P数据流的数据包长度的均方差值就很大。而P2P数据流与Email数据流的主要区别是流的持续时间,P2P数据流的持续时间长于Email数据流。
本发明实施例以数据包长度抖动频次作为流量特征值。其中,数据包长度抖动频次是指相邻两个数据包的长度变化超过了某个门限值(以下称为数据包长度抖动门限值)的次数。数据包长度抖动频次反映了数据包的长度变化程度的频率,实验证明,P2P数据流的的数据包长度抖动频次高于其它服务类型。将该数据包长度抖动频次作为组成识别单元的输入特征向量的一部分,可以提高识别单元对P2P数据流的识别准确率。
需要说明的是,输入特征向量中的流量特征值还可以包括其他类型的流量特征值,例如待识别数据流中的数据包长度均方差、数据包的长度平均值、数据包的数目或待识别数据流的总共字节数。
本发明实施例的方法的执行主体可以为服务器或其他设备,所述识别单元可以包含在所述服务器中;本发明实施例的方法可以应用于固定网络、移动网络、或固定移动融合网络等。
通过本发明实施例,可以更准确地识别P2P数据流。
实施例二
本发明实施例二具体阐述实施例一中待识别数据流的数据包长度抖动频次的一种获取方法,即如何从待识别数据流中获取数据包长度抖动频次这个流量特征值。
本发明实施例二中采用K均值聚类方法获取数据包长度抖动频次。详细如下:
K均值聚类方法是指将一组目标数据根据它们的属性或特征分成K个聚类组,使得数据与它所在的聚类组的中心点的距离的平方和最小。
具体对于本实施例,以K=2的情况为例说明,请参看图3,对于数据包长度抖动频次的获取方法可以包括:
步骤S301:截取数据流中的数据包的长度,组成数据包长度的序列;
步骤S302:从上述序列中选取K=2个数据包长度值作为中心点;
步骤S303:按顺序计算剩下的各个数据包长度值与上述K=2个中心点的数据包长度值之间距离,根据最近距离原则将余下的数据包长度逐个归入一个中心点,形成聚类组;
步骤S304:计算各聚类组中所有数据包长度量化后的特征向量的和,从而计算出各组的平均值,并作为新的中心点。
步骤S305:判断相邻两次迭代中分组是否完全一致,如果否,则返回继续执行步骤S303,也可以称为反复迭代过程;如果是,则停止迭代,执行步骤S306;
步骤S306:将步骤S304中最终迭代的结果中的K=2个中心点之间的距离作为数据包长度抖动门限值;
步骤S307:将数据流中的相邻两个数据包进行比较,计算相邻两个数据包长度的差值的绝对值超过了上述数据包长度抖动门限值的次数,将所述次数作为数据包长度抖动频次。其中对次数的计算方法可以为:如果相邻两个数据包长度的差值的绝对值超过了上述数据包长度抖动门限值,则数据包长度抖动频次的计数值加1,最后通过计数值的最终结果得到次数。
本发明实施例方法可以根据实际需要对各个步骤顺序进行调整。
下面举例说明上述获得数据包长度抖动频次的方法。
例如,截取一个数据流中的数据包长度序列为:
1502 1502 1222 1222 1502 532 812 1002 15021502 252 752 672 1092 1362 942 1502 1502 1222392 162 1502 1502 1222 1502 1222(总共26个)
首先选取两个数据包长度作为中心点,例如可以选择第一组的中心点C1=1502,而第二组的中心点C2=162。
然后将每个数据包长度值与两个中心点的数值进行比较,计算与中心点之间的距离(即差值),使各个数据包的长度归入差值小的那个聚类组。例如:第一个数据长度为1502,与第一组中心点1502的差值为1502-1502=0,与第二组中心点162的差值为1502-162=1340,显然数据1502与第一组的中心点更接近(即差值更小),所以将其归入第一聚类组。按照此规律,两个聚类组划分如下:
聚类组1:1502 1502 1502 1222 1222 1002 1502 15021092 1362 942 1502 1502 1222 1502 1502 12221502 1222(共19个)
聚类组2:532 812 752 252 672 392 162(共7个)
上述过程可以称为第一次迭代。
下面进行第二次迭代:
计算上述两个聚类组中所有的数据包长度量化后的特征向量的和(具体的得出量化过程的特征向量可以从本领域技术人员公知的线性代数知识中的获得,即对矩阵的量化,然后得到特征向量的过程),从而计算出各聚类特征向量的平均值作为新的聚类组中心点。可以计算得到,第二次迭代所用的新的聚类组中心点为:第一组的中心点C1=1422.63,而第二组的中心点C2=510.57。根据这两个新的聚类组中心点进行与第一次迭代中类似的聚类组划分过程,可以得到第二次迭代得到的聚类组划分为:
聚类组1:1502 1502 1502 1222 1222 1002 1502 15021092 1362 1502 1502 1222 1502 1502 1222 15021222(共18个)
聚类组2:532 812 752 252 672 392 162 942(共8个)
接着进行第三次迭代:
对第二次迭代后的聚类组进行量化,得到的新的中心点为:第一组的中心点C1=1381.44,第二组的中心点C2=564.5。
根据这两个中心点进行第三次聚类组的划分:
聚类组1:1502 1502 1502 1222 1222 1002 15021502 1092 1362 1502 1502 1222 1502 1502 12221502 1222(共18个)
聚类组2:532 812 752 252 672 392 162 942(共8个)
由于此次叠代与上次叠代得到的分组没有变化,因此得出最终的聚类组中心点:第一组的中心点C1=1381.44,第二组的中心点C2=564.5。所以数据包长度抖动门限值就等于816.94。
最后计算上述26个数据包中前后相邻两个数据包的长度的差值的绝对值,对超过数据包长度抖动门限值816.94的(也可称为发生抖动),进行计数,最后得到数据包长度抖动频次为4,如图4所示,该图中示出了上述26个数据包中发生抖动的数据包位置。
上面详细描述了利用K=2的K均值聚类方法获得数据包长度抖动频次的过程,需要说明的是,对于K等于其他值得情况,其过程类似,例如,K=3时只需要得到3个聚类组,并将三个聚类组的中心点之间的距离取平均,即得到数据包长度抖动门限值,并用于K=2类似的方法计算前后相邻两个数据包的长度的差值的绝对值超过数据包长度抖动门限值的次数,最终得到数据包长度抖动频次。
采用K均值方法得到数据包长度抖动频次的优先在于:聚类速度快,而且算法易于实现。
本领域技术人员应该能够理解,对于数据包长度抖动频次的获取还可以采用其他计算方法来实现。本发明实施例的方法的执行主体可以为服务器或其他设备,所述识别单元可以包含在所述服务器中;本发明实施例的方法可以应用于固定网络、移动网络、或固定移动融合网络等。
通过本发明实施例,可以更准确地识别P2P数据流。
实施例三
本发明实施例三详细介绍实施例一中对识别单元进行训练的方法的训练方法。
本发明实施例的识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(Back Propagation,后向传播)神经网络。
不妨以BP神经网络为例,并结合实验数据说明对识别单元的训练过程。
首先从已知的P2P数据流和非P2P数据流中获得多组用于训练BP神经网络的训练样本,每组训练样本作为BP神经网络的输入特征向量,特别地,本实施例中每组训练样本中包含数据流的数据包长度抖动频次、数据包长度均方差、数据包的长度平均值、数据包的数目和数据流总共字节数。本实施例以获取250组训练样本为例,表1示出了上述250组训练样本中的16组训练样本的详细信息。
表1
样本号 | 数据包长度均方差 | 数据包长度抖动频次 | 数据包的长度平均值 | 数据包的数目 | 总共字节数 | 类别 |
1 | 464.1424 | 14 | 1363.875 | 152 | 207309 | P2P |
2 | 452.6442 | 12 | 1397.611 | 163 | 227811 | P2P |
3 | 534.8935 | 10 | 893.500 | 149 | 13313 | P2P |
4 | 558.6362 | 12 | 1074.848 | 154 | 165527 | P2P |
5 | 460.6852 | 16 | 986.695 | 161 | 158858 | P2P |
6 | 528.3644 | 13 | 1077.623 | 156 | 168109 | P2P |
7 | 496.3240 | 10 | 1103.654 | 148 | 163341 | P2P |
8 | 462.3525 | 18 | 1382.685 | 164 | 226760 | P2P |
9 | 180.9654 | 1 | 1174.500 | 113 | 132719 | 非P2P |
10 | 178.7333 | 1 | 1175.122 | 117 | 137489 | 非P2P |
11 | 174.5064 | 1 | 1176.279 | 109 | 128214 | 非P2P |
12 | 701.4975 | 2 | 777.130 | 101 | 78490 | 非P2P |
13 | 701.5207 | 0 | 747.250 | 97 | 72483 | 非P2P |
14 | 103.6535 | 2 | 145.000 | 124 | 17980 | 非P2P |
15 | 102.6203 | 0 | 149.036 | 136 | 20269 | 非P2P |
16 | 103.1136 | 1 | 151.065 | 131 | 19790 | 非P2P |
其中对BP神经网络的训练可以采用Matlab软件中的神经网络工具箱。
然后选择训练函数和隐含层结点和输出结点的传递函数,本实施例中优选训练函数为trainlm函数,即Levenberg-Marquardt BP训练函数,隐含层结点和输出结点的传递函数都采用Log-Sigmoid传递函数。训练函数和传递函数的概念和作用为本领域技术人员公知的技术,如果利用Matlab软件中的神经网络工具箱,上述训练函数和传递函数的设定可以在已经提供的选项中进行选择就可以完成。
BP神经网络的输出结点有两个,定义输出(1,0)表示识别为P2P数据流,输出(0,1)表示识别为非P2P流。例如,对于表1中的训练样本,1-8组训练样本应输出(1,0),9-16组训练样本应输出(0,1)。
设置训练次数、学习效率和隐含层结点,因为本实施例中的训练样本共250组,所以训练次数应该设定为250,学习效率可以根据实际情况选择,本实施例中优选取为0.7。
在本实施例中分别对隐含层结点数为4、5、6、7、8、9的6种BP神经网络进行训练,通过实验比较,最后发现当隐含层结点数为4时,P2P数据流判断正确率较高,为96.3%。这样优选采用隐含层结点为4的训练完成BP神经网络作为以后识别P2P数据流的BP神经网络。
本领域技术人员,应该能够明白,对于其他类型的识别单元的训练过程与上述对BP神经网络的训练类似,例如对于支持向量机,也是首先构造训练样本数据,然后设置支持向量机的相关训练参数进行训练。本发明实施例的方法的执行主体可以为服务器或其他设备,所述识别单元可以包含在所述服务器中;本发明实施例的方法可以应用于固定网络、移动网络、或固定移动融合网络等。
本实施例中对识别单元的训练方法的有意效果在于:通过合理配置训练时的参数,使得训练过程的效率很高,完成训练的识别单元对于P2P数据流的识别准确率较高。
实施例四
虽然深层数据包检测方法无法对加密的数据流进行识别,但是对于深层数据包检测方法能够识别的数据流,基于有效载荷的识别相对基于流量特征的识别仍然是最准确的。因此本实施例中提出一种P2P数据流的识别方法,该方法中对待识别数据流首先进行深层数据包检测,如果识别为P2P数据流,则确定该数据流为P2P数据流;如果识别为非P2P数据流,则再利用识别单元对待识别数据流进行识别,请参看图5,本实施例提供的P2P数据流的识别方法可以包括如下步骤:
步骤S501:从网络中捕获待识别数据流的数据包;
步骤S502:利用深层数据包检测的方法识别待识别数据流是否为P2P数据流;
其中,深层数据包检测具体可以为:将捕获的数据包有效载荷中的协议特征字与预先存储的已知P2P数据流的协议特征字库进行匹配,如果匹配成功,则识别为P2P数据流,相反,则识别为非P2P数据流。利用深层数据包检测方法将带识别数据流识别为非P2P数据流的,有两种可能:一种是该数据流确实不是P2P数据流,另一种是该数据流实际上是P2P数据流,但由于协议特征字库中没有存储该数据流的协议特征字,所以利用深层数据包检测只能输出非P2P数据流的识别结果。因此还需要把深层数据包检测方法检测为非P2P数据流的流量特征值获取出来,并用识别单元再检测一遍。
P2P数据流的协议特征字库中存储了已知P2P数据流的数据包有效载荷中的协议特征字。表2中列举协议特征字库中存有的常用P2P数据流对应的协议特征字。
表2
P2P数据流类型 | 协议特征字 |
BT | “13 42 69 74 54 6f 72 72 65 6e 74 20 70 72 6f 74 6f 53 6f 6c” |
Kazaa | “58 2d 4B 61 7A 61 61” |
Gnutella | “67 6e 75 74 65 6c 6c 61”或“47 6e 75 74 65 6c 6c 61” |
将捕获数据包的协议特征字与协议特征字库进行匹配的方法可以为:使用Krap-Rabin算法进行字符串匹配。
如果利用深层数据包检测方法将待识别数据流识别为P2P数据流,则执行步骤S506:认定该待识别数据流为P2P数据流;如果将待识别数据流识别为非P2P数据流,则继续执行步骤S503。
步骤S503:从捕获的数据包中获取流量特征值;
步骤S504:将所述流量特征值作为识别单元的输入特征向量;
组成识别单元的输入特征向量中的流量特征值优选包括数据包长度抖动频次,该数据包长度抖动频次可以通过实施例二中提供的方法获得。另外,上述输入特征向量中还可以包括:数据包长度均方差、数据包的长度平均值、数据包的数目和数据流总共字节数。
步骤S505:预先训练完成的识别单元根据输入特征向量识别待识别数据流是否为P2P数据流,如果是,则执行步骤S506:认定该待识别数据流为P2P数据流;如果否,则执行步骤S507:认定该待识别数据流为非P2P数据流。
其中,对于识别单元的训练过程可以采用实施例三中提供的方法进行。
本发明实施例方法可以根据实际需要对各个步骤顺序进行调整。本发明实施例的方法的执行主体可以为服务器或其他设备,所述识别单元可以包含在所述服务器中;本发明实施例的方法可以应用于固定网络、移动网络、或固定移动融合网络等。
本发明实施例的识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(Back Propagation,后向传播)神经网络。
基于本实施例,首先利用深层数据包检测方法对待识别数据流进行识别,对确定为非P2P数据流的,再利用识别单元对待识别数据流进行基于流量特征的检测。利用深层数据包检测方法识别出待识别数据流为P2P数据流的结论是比较准确的,因此如果能够首先利用深层数据包检测方法识别为P2P数据流的可以下结论,提高检测效率,但是对于深层数据包检测方法识别为非P2P数据流的判断中可能存在误判,所以需要再利用基于流量特征的识别单元进行识别,这样总的看来提高了对P2P数据流识别的准确性。
本实施例中提供的方法与实施例一提供的方法相比,通过深层数据包检测,进一步提高了P2P数据流的检测准确率和检测效率。
实施例五
本实施例相应提供一种网络装置,如图6所示,网络装置600可以包括:
流量特征值获取单元601,用于从捕获的待识别数据流中获取数据包的流量特征值;
识别单元602,用于根据由所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。
本发明实施例的各个单元可以集成于一体,也可以分离部署。上述单元可以合并为一个单元,也可以进一步拆分成多个子单元。
本发明实施例的识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(Back Propagation,后向传播)神经网络。
本发明实施例的网络装置可以为服务器或其他设备。
本实施例提供的网络装置将待识别数据流的流量特征值组成的输入特征向量对待识别数据流进行识别,由于利用流量特征值进行识别可以克服仅仅利用深层数据包检测方法产生的不能识别未知P2P数据流的缺点,所以本实施例提供装置对P2P数据流的识别具有很好的可扩展性,而且将利用识别单元进行识别,又可以完成现有技术中无法完成的复杂统计和识别过程,所以识别结果更准确。
实施例六
如图7所示,本发明实施例六也提供一种网络装置700,该装置与实施例六的区别在于:增加了匹配单元703,具体地,该网络装置700可以包括:
匹配单元703,用于将捕获的数据包有效载荷中的协议特征字与预先建立的已知P2P数据流协议特征字库进行匹配,如果匹配成功,则识别所述待识别数据流为P2P数据流,如果匹配不成功,则触发流量特征值获取单元701进行工作;
流量特征值获取单元701,用于从捕获的待识别数据流中获取数据包的流量特征值;
识别单元702,用于根据由所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。
相应的,所述网络装置700还可以包括协议特征字库存储单元,用于存储预先建立的已知P2P数据流协议特征字库。
本发明实施例的识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(Back Propagation,后向传播)神经网络。
本发明实施例的网络装置可以为服务器或其他设备。
本发明实施例的各个单元可以集成于一体,也可以分离部署。上述单元可以合并为一个单元,也可以进一步拆分成多个子单元。
本实施例提供的识别装置相对于实施例六增加了匹配单元703,从而,本实施例提供的识别装置相对于实施例六还具有如下有益效果:
首先匹配单元利用协议特征字匹配的方法对数据流进行识别,识别为非P2P数据流的,再利用识别单元对待识别数据流进行基于流量特征的检测。如果匹配单元能够首先识别出P2P数据流,则可以下结论,提高检测效率,但是对于深层数据包检测方法识别为非P2P数据流的判断中可能存在误判,所以需要再利用基于流量特征的识别单元进行识别,这样总的看来提高了对P2P数据流识别的准确性。
实施例七
本发明实施例七提供一种网络装置800,如图8所示,该网络装置800可以包括:
流量特征值获取单元801,用于从获取捕获的待识别数据流中获取数据包的流量特征值;
识别单元802,用于根据由所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。
所述流量特征值获取单元801包括:
数据包长度抖动门限值确定单元803,用于确定待识别数据流的数据包长度抖动门限值;
数据包长度抖动频次确定单元804,用于确定待识别数据流中相邻两个数据包的长度变化超过所述数据包长度抖动门限值的次数,得到数据包长度抖动频次。
另外,该网络装置800还可以包括:匹配单元805,用于将捕获的数据包有效载荷中的协议特征字与预先建立的已知P2P数据流协议特征字库进行匹配,如果匹配成功,则识别所述待识别数据流为P2P数据流,如果匹配不成功,则触发流量特征值获取单元801进行工作。
本发明实施例的识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(Back Propagation,后向传播)神经网络。
本发明实施例的网络装置可以为服务器或其他设备。
本实施例提供的装置中提供了确定数据包长度抖动门限值的装置,从而能够该流量特征值加入到识别单元的输入特征向量中,这样可以提高识别单元对P2P数据流的识别准确率。
实施例八
结合图9,本实施例提供一种网络系统900,该网络系统900中包括至少两个通信设备902和903、网络装置901;
其中,通信设备902和903,用于相互进行通信;通信设备可以是网络中的计算机、或手机等;
网络装置901,用于捕获通信设备902和903通信的数据流,从获取捕获的待识别数据流中获取数据包的流量特征值,根据由所述流量特征值组成的输入特征向量识别所述数据流是否为P2P数据流。
其中,该网络装置901中包括:
流量特征值获取单元9011,用于从获取捕获的待识别数据流中获取数据包的流量特征值;
识别单元9012,用于根据由所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。
另外,网络装置901中还可以包括:
匹配单元9013,用于将捕获的数据包有效载荷中的协议特征字与预先建立的已知P2P数据流协议特征字库进行匹配,如果匹配成功,则确定所述待识别数据流为P2P数据流,如果匹配不成功,则触发流量特征值获取单元9011进行工作。
所述流量特征值获取单元9011可以包括:
数据包长度抖动门限值确定单元9014,用于确定待识别数据流的数据包长度抖动门限值;
数据包长度抖动频次确定单元9015,用于确定待识别数据流中相邻两个数据包的长度变化超过所述数据包长度抖动门限值的次数,得到数据包长度抖动频次。
本发明实施例的识别单元可以是神经网络、支持向量机等其他根据输入特征向量能够进行模式识别的装置或算法。例如,可以为神经网络中的BP(Back Propagation,后向传播)神经网络。
本发明实施例的网络装置可以为服务器或其他设备。
本发明实施例系统的各个单元可以集成于一个装置,也可以分布于多个装置。上述单元可以合并为一个单元,也可以进一步拆分成多个子单元。
本发明实施例的网络系统可以应用于固定网络、移动网络、或固定移动融合网络等。
本实施例提供的网络系统可以提高对P2P数据流的检测准确率。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
综上所述,本发明实施例利用识别单元根据待识别数据流的流量特征值组成的输入特征向量对待识别数据流进行识别,由于利用流量特征值进行识别可以克服仅仅利用深层数据包检测方法产生的不能识别未知P2P数据流的缺点,所以本实施例提供的方法、装置和系统对P2P数据流的识别具有很好的可扩展性,而且将利用识别单元进行识别,又可以完成现有技术中无法完成的复杂统计和识别过程,所以识别结果更准确。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1、一种对等网络P2P数据流的识别方法,其特征在于,包括:
从捕获的待识别数据流的数据包中获取流量特征值;
将所述流量特征值作为识别单元的输入特征向量;
将所述输入特征向量输入到预先完成训练的识别单元中,由所述识别单元识别待识别数据流是否为P2P数据流。
2、根据权利要求1所述的方法,其特征在于,在所述从捕获的待识别数据流中数据包的获取流量特征值之前还包括:
将数据包有效载荷中的协议特征字与预先建立的P2P数据流的协议特征字库进行匹配,如果匹配成功,则确定所述待识别数据流为P2P数据流,如果匹配不成功,则从捕获的待识别数据流的数据包中获取流量特征值。
3、根据权利要求1所述的方法,其特征在于,所述流量特征值包括数据包长度抖动频次,所述从捕获的待识别数据流的数据包中获取流量特征值包括:
确定待识别数据流的数据包长度抖动门限值;
确定待识别数据流中相邻两个数据包的长度变化超过所述数据包长度抖动门限值的次数,将所述次数作为数据包长度抖动频次,将所述数据包长度抖动频次作为流量特征值。
4、根据权利要求3所述的方法,其特征在于,所述确定待识别数据流的数据包长度抖动门限值包括:
利用K均值聚类方法确定待识别数据流的数据包长度抖动门限值。
5、根据权利要求1所述的方法,其特征在于,所述流量特征值包括:
待识别数据流的数据包长度的均方差值、或待识别数据流的数据包的数目、或待识别数据流的字节数。
6、根据权利要求1所述的方法,其特征在于,所述方法还包括:
从已知的P2P数据流和非P2P数据流的获得训练样本,利用所述训练样本,根据预置的参数对所述识别单元进行训练,所述参数包括以下的至少一个:训练次数、学习效率、训练函数、传递函数或隐含层。
7、一种网络装置,其特征在于,包括:
流量特征值获取单元,用于从捕获的待识别数据流中获取数据包的流量特征值;
识别单元,用于根据所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。
8、根据权利要求7所述的装置,其特征在于,所述装置还包括:
匹配单元,用于将数据包有效载荷中的协议特征字与预先建立的已知P2P数据流协议特征字库进行匹配;如果匹配成功,则匹配单元将所述待识别数据流确定为P2P数据流,如果匹配不成功,则匹配单元将触发流量特征值获取单元进行工作。
9、根据权利要求7所述的装置,其特征在于,所述流量特征值获取单元包括:
数据包长度抖动门限值确定单元,用于确定待识别数据流的数据包长度抖动门限值;
数据包长度抖动频次的确定单元,用于确定待识别数据流中相邻两个数据包的长度变化超过所述数据包长度抖动门限值的次数,将所述次数作为数据包长度抖动频次;将所述数据包长度抖动频次作为流量特征值。
10、一种网络系统,其特征在于,包括至少两个通信设备和网络装置,其中:
所述至少两个通信设备之间进行通信,所述网络装置用于捕获所述通信设备之间通信的数据流,从获取捕获的待识别数据流中获取数据包的流量特征值,根据由所述流量特征值组成的输入特征向量识别所述数据流是否为P2P数据流。
11、根据权利要求10所述的网络系统,其特征在于,所述网络装置包括:
流量特征值获取单元,用于从捕获的待识别数据流中获取数据包的流量特征值;
识别单元,用于根据所述流量特征值组成的输入特征向量识别待识别数据流是否为P2P数据流。
12、根据权利要求11所述的网络系统,其特征在于,所述网络装置还包括:
匹配单元,用于将数据包有效载荷中的协议特征字与预先建立的已知P2P数据流协议特征字库进行匹配;如果匹配成功,则匹配单元将所述待识别数据流确定为P2P数据流,如果匹配不成功,则匹配单元将触发流量特征值获取单元进行工作。
13、根据权利要求11所述的网络系统,其特征在于,所述流量特征值获取单元包括:
数据包长度抖动门限值确定单元,用于确定待识别数据流的数据包长度抖动门限值;
数据包长度抖动频次确定单元,用于确定待识别数据流中相邻两个数据包的长度变化超过所述数据包长度抖动门限值的次数,得到数据包长度抖动频次;将所述数据包长度抖动频次作为流量特征值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101891313A CN101505314A (zh) | 2008-12-29 | 2008-12-29 | 一种p2p数据流的识别方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101891313A CN101505314A (zh) | 2008-12-29 | 2008-12-29 | 一种p2p数据流的识别方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101505314A true CN101505314A (zh) | 2009-08-12 |
Family
ID=40977380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101891313A Pending CN101505314A (zh) | 2008-12-29 | 2008-12-29 | 一种p2p数据流的识别方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101505314A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854366A (zh) * | 2010-06-10 | 2010-10-06 | 中兴通讯股份有限公司 | 一种对等网络流量识别的方法及装置 |
CN102111401A (zh) * | 2010-12-16 | 2011-06-29 | 成都市华为赛门铁克科技有限公司 | 协议识别方法、协议识别装置及设备 |
CN102984269A (zh) * | 2012-12-10 | 2013-03-20 | 北京网御星云信息技术有限公司 | 一种点对点流量识别方法和装置 |
CN103220329A (zh) * | 2013-03-07 | 2013-07-24 | 汉柏科技有限公司 | 基于协议内容识别和行为识别的p2p协议识别方法 |
CN103577602A (zh) * | 2013-11-18 | 2014-02-12 | 浪潮(北京)电子信息产业有限公司 | 一种二次聚类方法及系统 |
CN104734905A (zh) * | 2013-12-24 | 2015-06-24 | 华为技术有限公司 | 检测数据流的方法及装置 |
CN105657051A (zh) * | 2016-03-03 | 2016-06-08 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | P2p类应用的识别控制方法和系统 |
CN106911527A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 一种流量监测装置及方法 |
CN107634874A (zh) * | 2017-09-01 | 2018-01-26 | 南通大学 | Sdn环境下基于bp神经网络的p2p流量检测方法 |
WO2018120355A1 (zh) * | 2016-12-27 | 2018-07-05 | 盛科网络(苏州)有限公司 | 以太网芯片低延时模式下提取数据流信息的方法及装置 |
CN110222795A (zh) * | 2019-07-26 | 2019-09-10 | 广东工业大学 | 基于卷积神经网络的p2p流量的识别方法及相关装置 |
CN110535728A (zh) * | 2019-09-05 | 2019-12-03 | 烽火通信科技股份有限公司 | 一种网络流量感知方法及系统 |
CN109842586B (zh) * | 2017-11-27 | 2021-03-12 | 西门子(中国)有限公司 | 异常网络流量检测方法、装置和存储介质 |
-
2008
- 2008-12-29 CN CNA2008101891313A patent/CN101505314A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854366A (zh) * | 2010-06-10 | 2010-10-06 | 中兴通讯股份有限公司 | 一种对等网络流量识别的方法及装置 |
CN101854366B (zh) * | 2010-06-10 | 2015-04-01 | 中兴通讯股份有限公司 | 一种对等网络流量识别的方法及装置 |
CN102111401B (zh) * | 2010-12-16 | 2013-12-04 | 华为数字技术(成都)有限公司 | 协议识别方法、协议识别装置及设备 |
CN102111401A (zh) * | 2010-12-16 | 2011-06-29 | 成都市华为赛门铁克科技有限公司 | 协议识别方法、协议识别装置及设备 |
CN102984269B (zh) * | 2012-12-10 | 2016-05-11 | 北京网御星云信息技术有限公司 | 一种点对点流量识别方法和装置 |
CN102984269A (zh) * | 2012-12-10 | 2013-03-20 | 北京网御星云信息技术有限公司 | 一种点对点流量识别方法和装置 |
CN103220329A (zh) * | 2013-03-07 | 2013-07-24 | 汉柏科技有限公司 | 基于协议内容识别和行为识别的p2p协议识别方法 |
CN103220329B (zh) * | 2013-03-07 | 2017-02-08 | 汉柏科技有限公司 | 基于协议内容识别和行为识别的p2p协议识别方法 |
CN103577602A (zh) * | 2013-11-18 | 2014-02-12 | 浪潮(北京)电子信息产业有限公司 | 一种二次聚类方法及系统 |
CN104734905A (zh) * | 2013-12-24 | 2015-06-24 | 华为技术有限公司 | 检测数据流的方法及装置 |
CN104734905B (zh) * | 2013-12-24 | 2018-05-11 | 华为技术有限公司 | 检测数据流的方法及装置 |
CN106911527A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 一种流量监测装置及方法 |
CN105657051A (zh) * | 2016-03-03 | 2016-06-08 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | P2p类应用的识别控制方法和系统 |
CN105657051B (zh) * | 2016-03-03 | 2020-03-24 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | P2p类应用的识别控制方法和系统 |
WO2018120355A1 (zh) * | 2016-12-27 | 2018-07-05 | 盛科网络(苏州)有限公司 | 以太网芯片低延时模式下提取数据流信息的方法及装置 |
CN107634874A (zh) * | 2017-09-01 | 2018-01-26 | 南通大学 | Sdn环境下基于bp神经网络的p2p流量检测方法 |
CN109842586B (zh) * | 2017-11-27 | 2021-03-12 | 西门子(中国)有限公司 | 异常网络流量检测方法、装置和存储介质 |
CN110222795A (zh) * | 2019-07-26 | 2019-09-10 | 广东工业大学 | 基于卷积神经网络的p2p流量的识别方法及相关装置 |
CN110535728A (zh) * | 2019-09-05 | 2019-12-03 | 烽火通信科技股份有限公司 | 一种网络流量感知方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101505314A (zh) | 一种p2p数据流的识别方法、装置和系统 | |
US11032391B2 (en) | Social network grouping method and system, and computer storage medium | |
CN108650218B (zh) | 网络流量监测方法、装置、计算机设备及存储介质 | |
Berahmand et al. | LP-LPA: A link influence-based label propagation algorithm for discovering community structures in networks | |
De Domenico et al. | Modeling structure and resilience of the dark network | |
CN102075404A (zh) | 一种报文检测方法及装置 | |
CN109151880A (zh) | 基于多层分类器的移动应用流量识别方法 | |
CN113706326B (zh) | 基于矩阵运算的移动社会网络图修改方法 | |
CN111935145A (zh) | 一种实现网络流量安全分析的硬件无关化方法及系统 | |
Malekzadeh et al. | Network topology inference from end-to-end unicast measurements | |
CN106341285A (zh) | 一种流量识别方法及装置 | |
CN104349462B (zh) | 通信模式选择方法和用户设备 | |
Thai | Group testing theory in network security: an advanced solution | |
CN109474623B (zh) | 网络安全防护及其参数确定方法、装置及设备、介质 | |
Feng et al. | Securing cooperative spectrum sensing against rational SSDF attack in cognitive radio networks | |
CN115102963A (zh) | 一种基于虚拟货币公链网络交易节点的邻居节点的ip判别方法、存储介质和电子设备 | |
CN113706305A (zh) | 一种基于区块链的数字货币网络交易的初始节点判断方法和系统 | |
CN110784487B (zh) | 一种基于数据包抽检模型的sdn节点防御方法 | |
CN107948022A (zh) | 一种对等网络流量的识别方法及识别装置 | |
CN114997877B (zh) | 一种虚拟货币公链网络交易节点的ip的网络拓扑数据分析方法、存储介质和电子设备 | |
Chung et al. | An effective similarity metric for application traffic classification | |
CN107204856B (zh) | 一种检测椭圆曲线算法漏洞的方法及装置 | |
Gupta et al. | Performance analysis and comparison of snort on various platforms | |
Vegni et al. | Analysis of small-world features in vehicular social networks | |
CN106709333A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20090812 |