P2p流量的识别方法和设备的制作方法

文档序号:7550521阅读:162来源:国知局
专利名称:P2p流量的识别方法和设备的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种P2P流量的识别方法和设备。
背景技术
随着计算机网络规模的扩展和业务种类的不断增长,P2P(Peer-to-Peer,点对点)网络作为一种全新的互联网技术得到了飞速发展。基于P2P机制的应用在下载数据的同时会上传数据,对于目前上行带宽小于下行带宽的大部分网络会造成网络瓶颈。加强对P2P应用流量的监控,适当控制网络中P2P流量规模的需求也日益增长,因此P2P流量的有效识别就显得尤为重要。目前国内外学者对于P2P流量和非P2P流量的识别已经研究的比较深入,主要包括以下几种情况:(I)利用TCP (Transmission Control Protocol,传输控制协议)流的统计特征用贝叶斯方法进行分类;(2 )根据节点主机作为源主机或目的主机时TCP流和UDP (User DatagramProtocol,用户数据包协议)流表现的行为差异所提出的启发式的判别规则;(3)将主机行为分为社会层、功能层和应用层,利用主机的行为模式识别P2P流量;(4)提出TDG (Traffic Dispersion Graphs,流量传播图)的概念,将节点之间的通信转换为有向图,并量化有向图中的一些特征(如出度,入度),利用这些特征识别有向图中节点间的通信协议。虽然上述方法都能够较好的区分网络中的P2P流量和非P2P流量,但是对于细粒度P2P流量的识别,也就是对具体的P2P应用或协议识别的研究还比较少。现有的技术方案中提出了几个适用于P2P识别的统计特征,并用互信息和海灵格距离(Hellinger Distance)进行了量化和排序,但从实验结果可以看出分类的效果不是很
理相在另一种技术方案中,定义了 Sherlock框架,从几个层次描述了 P2P应用的共性和特性,Sherlock框架提出的描述方式能够适用于不同的P2P应用,但是没有进一步说明如何将其应用于识别。还有一种技术方案,利用运行P2P应用的主机要和多个节点通信的特点,根据主机与节点交换的数据报个数对节点进行划分,通过节点数量分布识别P2P应用,但是该方法仅考虑了视频类P2P应用,缺少对下载类应用的分析。在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:由于P2P应用模型的多样性,对于某一 P2P应用的网络流量,如果综合分析观察它的节点通信状态、节点交互方式、传输层协议使用情况和TCP端口状态等节点主机的网络行为,确实能够人工地识别出网络流量是由哪一种P2P应用产生的,但是这些对P2P应用网络行为的描述方式并不适合于机器学习,不能充分地利用计算机的运算和处理能力进行自 动化的P2P应用识别。

发明内容
本发明实施例提供一种P2P流量的识别方法和设备,解决现有的技术方案中的缺少自动化的P2P应用类型及相应流量的识别方式的问题。为达到上述目的,本发明实施例一方面提供了一种P2P流量的识别方法,至少包括以下步骤:根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口 ;如果判断结果为存在,则收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量;根据所述特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型;根据所述P2P应用的类型,对相应的P2P流量进行识别。优选的,所述根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口,具体包括:收集所述主机的网卡的流量数据,并根据所述流量数据,判断是否存在满足以下条件的端口:存在一个端口被同一个应用程序所占用的时间长度超过预设阈值,且所述应用程序使用所述端口与多个不同IP地址的节点进行通信;如果判断结果为存在,则确定所述端口为当前主机中存在的P2P应用的UDP监听端口,如果判断结果为不存在,则确定当前主机中不存在P2P应用的UDP监听端口。优选的,所述收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量,具体包括:确定一个取样时间区间,并确定多个连续的数据包大小区间,其中,所述多个连续的数据包长度区间所对应的数据包长度数值范围包含所述UDP监听端口在所述取样时间区间内所有可能传输的数据包的长度数值;分别统计在所述取样时间区间内,所述UDP监听端口上所传输的长度数值归属于各数据包长度区间的数据包的数量,以及在所述取样时间区间内所述UDP监听端口上所传输的全部数据包的数量;确定在所述取样时间区间内,所述UDP监听端口上所传输的数据包的最大长度,以及所传输的数据包的最小长度;根据所述数据包的最大长度、所述数据包的最大小长度,以及长度数值归属于各数据包长度区间的数据包的数量与所述全部数据包的数量的比值,确定所述UDP监听端口上的数据包所对应的特征向量。优选的,所述收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量,具体包括:确定30秒为一个取样时间区间;在所述UDP监听端口上的数据包的长度区间为1-1499字节的应用场景中,通过统计所述UDP监听端口在所述30秒内的数据包传输情况,确定以下信息:
所述UDP监听端口在所述30秒内所传输的数据包的总数量为Ntotal ;所述UDP监听端口在所述30秒内所传输的数据包的长度范围在1-99字节的数据包的数量为N1,数据包的长度范围在100-199字节的数据包的数量为N2,依次类推,数据包的长度范围在1400-1499字节的数据包的数量为N15 ;其中,Nttrtal=NJN2+……+N15;确定所述UDP监听端口在所述30秒内所传输的数据包的最大长度为Lmax,所传输的数据包的最小长度SLmin;确定所述UDP监听端口在所述30秒内的特征向量为:(Lmax, Lmin, N1ZNtotal, N2/Ntotal,......,N15/Nt0tal)o优选的,所述根据所述P2P应用的类型,对相应的P2P流量进行识别,具体包括:如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则直接根据所述UDP监听端口的流量识别所述P2P的流量;如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议的流量。另一方面,本发明实施 例还提供了一种流量识别设备,包括:判断模块,用于根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口 ;转换模块,用于在所述判断模块的判断结果为存在时,收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量;确定模块,用于根据所述转换模块所转换得到的所述特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型;识别模块,用于根据所述确定模块所根据的所述P2P应用的类型,对相应的P2P流量进行识别。优选的,所述判断模块,具体用于:收集所述主机的网卡的流量数据,并根据所述流量数据,判断是否存在满足以下条件的端口:存在一个端口被同一个应用程序所占用的时间长度超过预设阈值,且所述应用程序使用所述端口与多个不同IP地址的节点进行通信;如果判断结果为存在,则确定所述端口为当前主机中存在的P2P应用的UDP监听端口,如果判断结果为不存在,则确定当前主机中不存在P2P应用的UDP监听端口。 优选的,所述转换模块,具体用于:在所述判断模块的判断结果为存在时,确定一个取样时间区间,并确定多个连续的数据包大小区间,其中,所述多个连续的数据包长度区间所对应的数据包长度数值范围包含所述UDP监听端口在所述取样时间区间内所有可能传输的数据包的长度数值;分别统计在所述取样时间区间内,所述UDP监听端口上所传输的长度数值归属于各数据包长度区间的数据包的数量,以及在所述取样时间区间内所述UDP监听端口上所传输的全部数据包的数量;确定在所述取样时间区间内,所述UDP监听端口上所传输的数据包的最大长度,以及所传输的数据包的最小长度;根据所述数据包的最大长度、所述数据包的最大小长度,以及长度数值归属于各数据包长度区间的数据包的数量与所述全部数据包的数量的比值,确定所述UDP监听端口上的数据包所对应的特征向量。优选的,所述转换模块,具体用于:在所述判断模块的判断结果为存在时,确定30秒为一个取样时间区间;在所述UDP监听端口上的数据包的长度区间为1-1499字节的应用场景中,通过统计所述UDP监听端口在所述30秒内的数据包传输情况,确定以下信息:所述UDP监听端口在所述30秒内所传输的数据包的总数量为Ntotal ;所述UDP监听端口在所述30秒内所传输的数据包的长度范围在1-99字节的数据包的数量为N1,数据包的长度范围在100-199字节的数据包的数量为N2,依次类推,数据包的长度范围在1400-1499字节的数据包的数量为N15 ;其中,Nttrtal=NJN2+……+N15;确定所述UDP监听端口在所述30秒内所传输的数据包的最大长度为Lmax,所传输的数据包的最小长度为Lmin; 确定所述UDP监听端口在所述30秒内的特征向量为:(Lmax, Lmin, N1ZNtotal, N2/Ntotal,......,N15/Ntotal)。优选的,所述识别模块,具体用于:如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则直接根据所述UDP监听端口的流量识别所述P2P的流量;如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议的流量。与现有技术相比,本发明实施例所提出的技术方案具有以下优点:通过应用本发明实施例的技术方案,在当前主机中存在P2P应用的UDP监听端口的情况下,根据所述UDP监听端口上的数据包的特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型,并对相应的P2P流量进行识别,从而,将对P2P应用行为特征的分析转移到对其相对固定的UDP监听端口的研究上,利用UDP监听端口在某些行为特征上对不同的P2P应用确实具有可区分性,实现了自动化的P2P应用类型以及相应流量的识别。


图1为本发明实施例所提出的一种P2P流量的识别方法的流程示意图;图2为本发明实施例所提出的一种具体应用场景中的需要切换的传感节点的接入控制及分配方法的流程示意图的流程示意图;图3为本发明实施例所提出的一种流量识别设备的结构示意图。
具体实施例方式如背景技术所述,现有的P2P应用类型的识别方式多是依赖人工对于P2P应用网络行为特征(包括节点通信状态、节点交互方式、传输层协议使用情况和TCP端口状态等节点主机的网络行为)的识别来实现的,这些对P2P应用网络行为的描述方式并不适合于机器学习,相应的,也就无法实现P2P应用类型及相应流量的自动化识别。为了克服这样的缺陷,本发明实施例提出了一种P2P流量的识别方法,将对P2P应用行为特征的分析转移到对其相对固定的UDP监听端口的研究上,利用UDP监听端口在某些行为特征上对不同的P2P应用确实具有可区分性,实现了自动化的P2P应用类型以及相应流量的识别。如图1所示,为本发明实施例所提出的一种P2P流量的识别方法的流程示意图,该方法具体包括以下步骤:步骤S101、根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端□。如果判断结果为存在,则执行步骤S102 ;如果判断结果为不存在,则结束当前的P2P流量识别过程。在具体的应用场景中,本步骤的实现具体可以通过以下方式完成:收集所述主机的网卡的流量数据,并根据所述流量数据,判断是否存在满足以下条件的端口:条件一、存在一个端口被同一个应用程序所占用的时间长度超过预设阈值。条件二、所述应用程序使用所述端口与多个不同IP地址的节点进行通信。上述两个条件是根据P2P应用的UDP监听端口的特征推到而来,需要同时满足这样的两个条件才能确定P2P应用的UDP监听端口的存在。如果上述的判断结果为存在,则确定所述端口为当前主机中存在的P2P应用的UDP监听端口,执行步骤S102。如果上述的判断结果为不存在,则确定当前主机中不存在P2P应用的UDP监听端口,结束当前的P2P流量识别过程。步骤S102、收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量。在具体的应用场景中,本步骤的实现具体可以通过以下方式完成:(I)确定一个取样时间区间,并确定多个连续的数据包大小区间。其中,所述多个连续的数据包长度区间所对应的数据包长度数值范围包含所述UDP监听端口在所述取样时间区间内所有可能传输的数据包的长度数值。(2)分别统计在所述取样时间区间内,所述UDP监听端口上所传输的长度数值归属于各数据包长度区间的数据包的数量,以及在所述取样时间区间内所述UDP监听端口上所传输的全部数据包的数量。(3)确定在所述取样时间区间内,所述UDP监听端口上所传输的数据包的最大长度,以及所传输的数据包的最小长度。(4)根据所述数据包的最大长度、所述数据包的最大小长度,以及长度数值归属于各数据包长度区间的数据包的数量与所述全部数据包的数量的比值,确定所述UDP监听端口上的数据包所对应的特征向量。步骤S103、根据所述特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型。步骤S104、根据所述P2P应用的类型,对相应的P2P流量进行识别。在具体的应用场景中,本步骤的实现具体可以通过以下方式完成:如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则直接根据所述UDP监听端口的流量识别所述P2P的流量;如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议的流量。与现有技术相比,本发明实施例所提出的技术方案具有以下优点:通过应用本发明实施例的技术方案,在当前主机中存在P2P应用的UDP监听端口的情况下,根据所述UDP监听端口上的数据包的特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型,并对相应的P2P流量进行识别,从而,将对P2P应用行为特征的分析转移到对其相对固定的UDP监听端口的研究上,利用UDP监听端口在某些行为特征上对不同的P2P应用确实具有可区分性,实现了自动化的P2P应用类型以及相应流量的识别。下面,结合具体的应用场景,对本发明实施例所提出的技术方案进行说明。具体的,本发明实施例所提出的一种P2P流量的识别方法的流程示意图如图2所示,具体包括以下步骤:步骤S201、查找当前主机中所存在的所有UDP端口。步骤S202、收集主机网卡的流量数据,完成对当前主机流量数据的采集。步骤S203、根据当前主机流量数据,完成P2P应用的UDP监听端口的识别。具体的,相应的识别方案要做的就是通过对节点主机流量数据的分析判断节点主机使用的m)P端口中是否存在某一 P2P应用的UDP监听端口。依据对节点行为的分析可知,P2P应用的UDP监听端口应该有如下特征:(I)端口长时间的被一个应用程序所占用;(2)应用程序使用该端口与多个不同IP地址的节点进行通信。如果节点主机中存在符合上述规则的UDP端口,那么就可以认为节点主机正在运行某一 P2P应用,并且该UDP端口就是这个P2P应用的UDP监听端口,然后,执行步骤S204。反之,则结束当前的P2P流量识别过程。步骤S204、获取该P2P应用的UDP监听端口的行为特征信息。找到了 P2P应用的UDP监听端口,接下来就是对该UDP端口产生的数据包进行统计分析,所统计的信息包括以下两个方面:(I)数据包长度分布情况。确定30秒为一个取样时间区间;在所述UDP监听端口上的数据包的长度区间为1-1499字节的应用场景中,通过统计所述UDP监听端口在所述30秒内的数据包传输情况,确定以下信息:所述UDP监听端口在所述30秒内所传输的数据包的总数量为Ntotal ;所述UDP监听端口在所述30秒内所传输的数据包的长度范围在1-99字节的数据包的数量为N1,数据包的长度范围在100-199字节的数据包的数量为N2,依次类推,数据包的长度范围在1400-1499字节的数据包的数量为N15 ;其中,Nttrtal=NJN2+……+N15。(2)数据包长度极值。确定所述UDP监听端口在所述30秒内所传输的数据包的最大长度为Lmax,所传输的数据包的最小长度为Lmin。步骤S205、行为特征信息的向量化。支持向量机处理的数据都是以多维向量的形式保存的,因此需要将UDP监听端口的行为特征用向量的方式表示。根据步骤S204中的统计信息,上述的30秒的时间间隔内P2P应用的UDP监听端口的行为特征可以表示为一个17维的向量:(Lmax, Lmin, N1ZNtotal, N2/Ntotal,......,N15/Nt()tal)。在具体的应用场景中,长时间收集的P2P流量数据就可以表示为一个监听端口的特征向量空间,然后利用支持向量机对空间内的特征向量进行训练和分类,进而识别出UDP监听端口所属的P2P应用。步骤S206、将相应的特征向量经由支持向量机的分类器进行识别。一旦识别出该UDP监听端口属于哪一种P2P应用,就能够得知节点主机在运行何种P2P应用了。具体的识 别规则可以根据实际情况进行配置,由于具体的信息均可以通过向量形式进行配置,所以,方便了机器学习,为P2P应用类型的自动化识别奠定了基础。如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则执行步骤S207 ;如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则执行步骤S208。在现有的技术方案中,常见的P2P应用类型主要包括:PPLive>PPStream>Emule>UUSee>Thunder>BitComet 以及 QQLive 等形式,具体 P2P类型的变化并不会影响本发明的保护范围。步骤S207、直接根据所述UDP监听端口的流量识别所述P2P的流量。如果该P2P应用是PPLive这种只使用UDP协议传输数据的应用,那么获取了 UDP监听端口就相当于识别出了 P2P应用绝大部分的流量。步骤S208、在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议
的流量。如果该P2P应用是eMule这种同时使用TCP协议传输数据的应用,那么根据P2P应用的TCP端口状态点阵图描述的规律也能够很容易地识别出P2P应用TCP协议的流量。与现有技术相比,本发明实施例所提出的技术方案具有以下优点:通过应用本发明实施例的技术方案,在当前主机中存在P2P应用的UDP监听端口的情况下,根据所述UDP监听端口上的数据包的特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型,并对相应的P2P流量进行识别,从而,将对P2P应用行为特征的分析转移到对其相对固定的UDP监听端口的研究上,利用UDP监听端口在某些行为特征上对不同的P2P应用确实具有可区分性,实现了自动化的P2P应用类型以及相应流量的识别。为了实现本发明实施例的技术方案,本发明实施例还提供了一种流量识别设备,其结构示意图如图3所示,至少包括:判断模块31,用于根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口 ;转换模块32,用于在所述判断模块31的判断结果为存在时,收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量;确定模块33,用于根据所述转换模块32所转换得到的所述特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型;识别模块34,用于根据所述确定模块33所根据的所述P2P应用的类型,对相应的P2P流量进行识别。优选的,所述判断模块31,具体用于:收集所述主机的网卡的流量数据,并根据所述流量数据,判断是否存在满足以下条件的端口:存在一个端口被同一个应用程序所占用的时间长度超过预设阈值,且所述应用程序使用所述端口与多个不同IP地址的节点进行通信;如果判断结果为存在,则确定所述端口为当前主机中存在的P2P应用的UDP监听端口,如果判断结果为不存在,则确定当前` 主机中不存在P2P应用的UDP监听端口。优选的,所述转换模块32,具体用于:在所述判断模块31的判断结果为存在时,确定一个取样时间区间,并确定多个连续的数据包大小区间,其中,所述多个连续的数据包长度区间所对应的数据包长度数值范围包含所述UDP监听端口在所述取样时间区间内所有可能传输的数据包的长度数值;分别统计在所述取样时间区间内,所述UDP监听端口上所传输的长度数值归属于各数据包长度区间的数据包的数量,以及在所述取样时间区间内所述UDP监听端口上所传输的全部数据包的数量;确定在所述取样时间区间内,所述UDP监听端口上所传输的数据包的最大长度,以及所传输的数据包的最小长度;根据所述数据包的最大长度、所述数据包的最大小长度,以及长度数值归属于各数据包长度区间的数据包的数量与所述全部数据包的数量的比值,确定所述UDP监听端口上的数据包所对应的特征向量。优选的,所述转换模块32,具体用于:在所述判断模块31的判断结果为存在时,确定30秒为一个取样时间区间;在所述UDP监听端口上的数据包的长度区间为1-1499字节的应用场景中,通过统计所述UDP监听端口在所述30秒内的数据包传输情况,确定以下信息:所述UDP监听端口在所述30秒内所传输的数据包的总数量为Ntotal ;所述UDP监听端口在所述30秒内所传输的数据包的长度范围在1-99字节的数据包的数量为N1,数据包的长度范围在100-199字节的数据包的数量为N2,依次类推,数据包的长度范围在1400-1499字节的数据包的数量为N15 ;其中,Nttrtal=NJN2+……+N15;
确定所述UDP监听端口在所述30秒内所传输的数据包的最大长度为Lmax,所传输的数据包的最小长度为Lmin;确定所述UDP监听端口在所述30秒内的特征向量为:(Lmax, Lmin, N1ZNtotal, N2/Ntotal,......,N15/Ntotal)。优选的,所述识别模块34,具体用于:如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则直接根据所述UDP监听端口的流量识别所述P2P的流量;如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议的流量。与现有技术相比,本发明实施例所提出的技术方案具有以下优点:通过应用本发明实施例的技术方案,在当前主机中存在P2P应用的UDP监听端口的情况下,根据所述UDP监听端口上的数据包的特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型,并对相应的P2P流量进行识别,从而,将对P2P应用行为特征的分析转移到对其相对固定的UDP监听端口的研究上,利用UDP监听端口在某些行为特征上对不同的P2P应用确实具有可区分性,实现了自动化的P2P应用类型以及相应流量的识别。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络侧设备等)执行本发明实施例各个实施场景所述的方法。本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明实施例所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本发明实施例的几个具体实施场景,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明实施例的业务限制范围。
权利要求
1.一种点对点P2P流量的识别方法,其特征在于,包括以下步骤: 根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口 ; 如果判断结果为存在,则收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量; 根据所述特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型; 根据所述P2P应用的类型,对相应的P2P流量进行识别。
2.如权利要求1所述的方法,其特征在于,所述根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端口,具体包括: 收集所述主机的网卡的流量数据,并根据所述流量数据,判断是否存在满足以下条件的端口: 存在一个端口被同一个应用程序所占用的时间长度超过预设阈值,且所述应用程序使用所述端口与多个不同IP地址的节点进行通信; 如果判断结果为存在,则确定所述端口为当前主机中存在的P2P应用的UDP监听端口,如果判断结果为不存在,则确定当前主机中不存在P2P应用的UDP监听端口。
3.如权利要求1所述的方法,其特征在于,所述收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量,具体包括: 确定一个取样时间区间,并确定多个连续的数据包大小区间,其中,所述多个连续的数据包长度区间所对应的数据包长度数值范围包含所述UDP监听端口在所述取样时间区间内所有可能传输的数据包的长度数值; 分别统计在所述取样时间区间内,所述UDP监听端口上所传输的长度数值归属于各数据包长度区间的数据包的数量,以及在所述取样时间区间内所述UDP监听端口上所传输的全部数据包的数量; 确定在所述取样时间区间内,所述UDP监听端口上所传输的数据包的最大长度,以及所传输的数据包的最小长度; 根据所述数据包的最大长度、所述数据包的最大小长度,以及长度数值归属于各数据包长度区间的数据包的数量与所述全部数据包的数量的比值,确定所述UDP监听端口上的数据包所对应的特征向量。
4.如权利要求3所述的方法,其特征在于,所述收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量,具体包括: 确定30秒为一个取样时间区间; 在所述UDP监听端口上的数据包的长度区间为1-1499字节的应用场景中,通过统计所述UDP监听端口在所述30秒内的数据包传输情况,确定以下信息: 所述UDP监听端口在所述30秒内所传输的数据包的总数量为Nttrtal ; 所述UDP监听端口在所述30秒内所传输的数据包的长度范围在1-99字节的数据包的数量为N1,数据包的长度范围在100-199字节的数据包的数量为N2,依次类推,数据包的长度范围在1400-1499字节的数据包的数量为N15 ; 其中,Ntotai=N^N2+......+N15 ; 确定所述UDP监听端口在所述30秒内所传输的数据包的最大长度为Lmax,所传输的数据包的最小长度为Lmin; 确定所述m)P监听端口在所述30秒内的特征向量为:
5.如权利要求1所述的方法,其特征在于,所述根据所述P2P应用的类型,对相应的P2P流量进行识别,具体包括: 如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则直接根据所述UDP监听端口的流量识别所述P2P的流量; 如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵图描述的规律识别所述P2P应用的TCP协议的流量。
6.一种流量识别设备,其特征在于,包括: 判断模块,用于根据当前的流量数据,判断当前主机中是否存在P2P应用的UDP监听端Π ; 转换模块,用于在所述判断模块的判断结果为存在时,收集并统计所述UDP监听端口上的数据包,并将所述数据包所对应的行为特征转换成为特征向量; 确定模块,用于根据所述转换模块所转换得到的所述特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型; 识别模块,用于根据所述确定模块所根据的所述P2P应用的类型,对相应的P2P流量进行识别。
7.如权利要求6所述的设备,其特征在于,所述判断模块,具体用于: 收集所述主机的网卡的流量数据,并根据所述流量数据,判断是否存在满足以下条件的端口: 存在一个端口被同一个应用程序所占用的时间长度超过预设阈值,且所述应用程序使用所述端口与多个不同IP地址的节点进行通信; 如果判断结果为存在,则确定所述端口为当前主机中存在的P2P应用的UDP监听端口,如果判断结果为不存在,则确定当前主机中不存在P2P应用的UDP监听端口。
8.如权利要求6所述的设备,其特征在于,所述转换模块,具体用于: 在所述判断模块的判断结果为存在时,确定一个取样时间区间,并确定多个连续的数据包大小区间,其中,所述多个连续的数据包长度区间所对应的数据包长度数值范围包含所述UDP监听端口在所述取样时间区间内所有可能传输的数据包的长度数值; 分别统计在所述取样时间区间内,所述UDP监听端口上所传输的长度数值归属于各数据包长度区间的数据包的数量,以及在所述取样时间区间内所述UDP监听端口上所传输的全部数据包的数量; 确定在所述取样时间区间内,所述UDP监听端口上所传输的数据包的最大长度,以及所传输的数据包的最小长度; 根据所述数据包的最大长度、所述数据包的最大小长度,以及长度数值归属于各数据包长度区间的数据包的数量与所述全部数据包的数量的比值,确定所述UDP监听端口上的数据包所对应的特征向量。
9.如权利要求8所述的设备,其特征在于,所述转换模块,具体用于:在所述判断模块的判断结果为存在时,确定30秒为一个取样时间区间; 在所述UDP监听端口上的数据包的长度区间为1-1499字节的应用场景中,通过统计所述UDP监听端口在所述30秒内的数据包传输情况,确定以下信息: 所述UDP监听端口在所述30秒内所传输的数据包的总数量为Nttrtal ; 所述UDP监听端口在所述30秒内所传输的数据包的长度范围在1-99字节的数据包的数量为N1,数据包的长度范围在100-199字节的数据包的数量为N2,依次类推,数据包的长度范围在1400-1499字节的数据包的数量为N15 ; 其中,Ntotai=N^N2+......+N15 ; 确定所述UDP监听端口在所述30秒内所传输的数据包的最大长度为Lmax,所传输的数据包的最小长度为Lmin; 确定所述m)P监听端口在所述30秒内的特征向量为: (Lmax,Ni/NtQtai,N2/NtQtai, ,) 0
10.如权利要求6所述的设备,其特征在于,所述识别模块,具体用于: 如果确定的所述P2P应用的类型为只使用UDP协议传输数据的应用,则直接根据所述UDP监听端口的流量识别所述P2P的流量; 如果确定的所述P2P应用的类型为同时使用UDP协议和TCP协议传输数据的应用,则在根据所述UDP监听端口的流量识别所述P2P的UDP协议的流量的同时,根据所述P2P应用的TCP端口的状态点阵 图描述的规律识别所述P2P应用的TCP协议的流量。
全文摘要
本发明实施例公开了一种P2P流量的识别方法和设备,通过应用本发明实施例的技术方案,在当前主机中存在P2P应用的UDP监听端口的情况下,根据所述UDP监听端口上的数据包的特征向量,确定当前所述主机正在运行的,对应于所述UDP监听端口的P2P应用的类型,并对相应的P2P流量进行识别,从而,将对P2P应用行为特征的分析转移到对其相对固定的UDP监听端口的研究上,利用UDP监听端口在某些行为特征上对不同的P2P应用确实具有可区分性,实现了自动化的P2P应用类型以及相应流量的识别。
文档编号H04L29/08GK103118078SQ20131001644
公开日2013年5月22日 申请日期2013年1月16日 优先权日2013年1月16日
发明者周亚建, 郭春, 薛凯, 平源 申请人:周亚建, 郭春, 薛凯, 平源
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1