一种报文特征提取方法和装置转让专利

申请号 : CN201310389436.X

文献号 : CN103475537A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈凯周异

申请人 : 华为技术有限公司

摘要 :

本发明实施例公开了一种报文特征提取方法和装置,本发明实施例方法包括:接收报文;对所述接收到的报文提取用于分组的第一特征信息;根据所述第一特征信息,将所述接收的报文分组,归属于同一组的报文属于同一条数据流;对所述接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别分组后的数据流的类型。该方案成功地忽略了报文特征中的顺序信息,使得在真实网络环境中乱序、丢包以及部分流的情形下精确率和准确度不会受到影响,降低了数据预处理阶段的复杂度,并可以适用于多流判决的情况。

权利要求 :

1.一种报文特征提取方法,其特征在于,所述方法包括:

接收报文;

对所述接收到的报文提取用于分组的第一特征信息;

根据所述第一特征信息,将所述接收的报文分组,归属于同一组的报文属于同一条数据流;

对所述接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别分组后的数据流的类型。

2.根据权利要求1所述方法,其特征在于,所述第一特征信息为五元组信息,所述五元组信息包括:源端口、目的端口、源IP地址、目的IP地址、传输层协议;

所述根据所述第一特征信息,将所述接收的报文分组,归属于同一组的报文属于同一条数据流,具体包括:将五元组信息对应相同的报文,划分为同一组,归属于同一组的报文属于同一条数据流。

3.根据权利要求1所述方法,其特征在于,所述对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别分组后的数据流的类型,具体包括:若报文分组后仅有一组,则所述仅有一组的报文属于一条数据流,对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别所述一条数据流的类型,所述第二特征信息用向量组形式表示为:其中, 代表第i个数据报文的特征向量,n为提取的所述第二特征的个数;

若报文分组后有一组以上,则对应有一组以上的数据流,对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别所述一条数据流的类型,所述第二特征信息用向量组形式表示为:其中, 代表第p个数据流的第m个报文的特征向

量,n为提取的所述第二特征的个数。

4.根据权利要求1所述方法,其特征在于,所述第二特征信息包括:部分或者全部所述第一特征信息;所述第二特征信息还包括:报文大小,报文头部标志位,报文头部字节数,报文到达时间间隔,其一任意一项或者任意组合。

5.根据权利要求1所述方法,其特征在于,所述数据流类型至少包括:微信数据流,网络电话数据流,在线游戏数据流,视频数据流,微软网络服务数据流,Skpe数据流,Chat数据流。

6.一种报文特征提取装置,其特征在于,所述装置包括:接收单元,第一提取单元,分组单元,和第二提取单元;

所述接收单元,用于接收报文;

所述第一提取单元,用于对所述接收到的报文提取用于分组的第一特征信息;

所述分组单元,用于根据所述第一特征信息,将所述接收的报文分组,归属于同一组的报文属于同一条数据流;

所述第二提取单元,用于对所述接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别分组后的数据流的类型。

7.根据权利要求6所述装置,其特征在于,所述第一特征信息为五元组信息,所述五元组信息包括:源端口、目的端口、源IP地址、目的IP地址、传输层协议;

所述分组单元,具体用于将五元组信息对应相同的报文,划分为同一组,归属于同一组的报文属于同一条数据流。

8.根据权利要求6所述装置,其特征在于,所述第二提取单元,具体用于:若所述分组单元中的分组结果是报文分组后仅有一组,则所述仅有一组的报文属于一条数据流,对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别所述一条数据流的类型,所述第二特征信息用向量组形式表示为:其中, 代表第i个数据报文的特征向量,n为提取的所述第二特征的个数;

若所述分组单元中的分组结果是报文分组后有一组以上,则对应有一组以上的数据流,对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别所述一条数据流的类型,所述第二特征信息用向量组形式表示为:其中, 代表第p个数据流的第m个报文的特征向

量,n为提取的所述第二特征的个数。

9.根据权利要求6所述装置,其特征在于,所述第二特征信息包括:部分或者全部所述第一特征信息;所述第二特征信息还包括:报文大小,报文头部标志位,报文头部字节数,报文到达时间间隔,其一任意一项或者任意组合。

说明书 :

一种报文特征提取方法和装置

技术领域

[0001] 本发明涉及通信技术领域,具体设涉及一种报文特征提取方法和装置。

背景技术

[0002] 在统计报文分类领域中,数据流的特征采集是一件非常重要的事情,好的特征可以提高识别的精确率和准确度,但是目前的大部分统计报文分类都是基于数据流来采集特征的,这样生成的特征向量往往要涉及报文次序的问题,例如:对同一个数据流采集其前五个报文大小,或者是采集前五个报文相邻到达时间间隔等等,诸如此类的特征信息都将在真实网络环境中的乱序,部分流(其中,部分流是相对全流而言的。全流指的是一个数据流的所有报文,部分流指的是一条流的部分报文),以及丢包的情况下导致识别准确度大打折扣。
[0003] 因此,现有技术中缺乏一种报文特征提取方法,以适用于真实网络环境中的乱序,部分流以及丢包的情形。

发明内容

[0004] 本发明实施例提供了一种报文特征提取方法和装置,能够忽略数据报文次序信息,以适用于真实网络环境中的乱序,部分流以及丢包的情形。
[0005] 第一方面,提供了一种报文特征提取方法,所述方法包括:
[0006] 接收报文;
[0007] 对所述接收到的报文提取用于分组的第一特征信息;
[0008] 根据所述第一特征信息,将所述接收的报文分组,归属于同一组的报文属于同一条数据流;
[0009] 对所述接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别分组后的数据流的类型。
[0010] 在第一种可能的实现方式中,根据第一方面,所述第一特征信息为五元组信息,所述五元组信息包括:源端口、目的端口、源IP地址、目的IP地址、传输层协议;
[0011] 所述根据所述第一特征信息,将所述接收的报文分组,归属于同一组的报文属于同一条数据流,具体包括:
[0012] 将五元组信息对应相同的报文,划分为同一组,归属于同一组的报文属于同一条数据流。
[0013] 在第二种可能的实现方式中,结合第一方面,所述对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别分组后的数据流的类型,具体包括:
[0014] 若报文分组后仅有一组,则所述仅有一组的报文属于一条数据流,对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别所述一条数据流的类型,所述第二特征信息用向量组形式表示为:
[0015]
[0016] 其中, 代表第i个数据报文的特征向量,n为提取的所述第二特征的个数;
[0017] 若报文分组后有一组以上,则对应有一组以上的数据流,对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别所述一条数据流的类型,所述第二特征信息用向量组形式表示为:
[0018] 其中, 代表第p个数据流的第m个报文的特征向量,n为提取的所述第二特征的个数。
[0019] 在第三种可能的实现方式中,结合第一方面,所述第二特征信息包括:部分或者全部所述第一特征信息;所述第二特征信息还包括:报文大小,报文头部标志位,报文头部字节数,报文到达时间间隔,其一任意一项或者任意组合。
[0020] 在第四种可能的实现方式中,结合第一方面,所述数据流类型至少包括:微信数据流,网络电话数据流,在线游戏数据流,视频数据流,微软网络服务数据流,Skpe数据流,Chat数据流。
[0021] 第二方面,提供了一种报文特征提取装置,所述装置包括:接收单元,第一提取单元,分组单元,和第二提取单元;
[0022] 所述接收单元,用于接收报文;
[0023] 所述第一提取单元,用于对所述接收到的报文提取用于分组的第一特征信息;
[0024] 所述分组单元,用于根据所述第一特征信息,将所述接收的报文分组,归属于同一组的报文属于同一条数据流;
[0025] 所述第二提取单元,用于对所述接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别分组后的数据流的类型。
[0026] 在第一种可能的实现方式中,根据第二方面,所述第一特征信息为五元组信息,所述五元组信息包括:源端口、目的端口、源IP地址、目的IP地址、传输层协议;
[0027] 所述分组单元,具体用于将五元组信息对应相同的报文,划分为同一组,归属于同一组的报文属于同一条数据流。
[0028] 在第二种可能的实现方式中,根据第二方面,所述第二提取单元,具体用于:
[0029] 若所述分组单元中的分组结果是报文分组后仅有一组,则所述仅有一组的报文属于一条数据流,对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别所述一条数据流的类型,所述第二特征信息用向量组形式表示为:
[0030]
[0031] 其中, 代表第i个数据报文的特征向量,n为提取的所述第二特征的个数;
[0032] 若所述分组单元中的分组结果是报文分组后有一组以上,则对应有一组以上的数据流,对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别所述一条数据流的类型,所述第二特征信息用向量组形式表示为:
[0033] 其中, 代表第p个数据流的第m个报文的特征向量,n为提取的所述第二特征的个数。
[0034] 在第三种可能的实现方式中,根据第二方面,所述第二特征信息包括:部分或者全部所述第一特征信息;所述第二特征信息还包括:报文大小,报文头部标志位,报文头部字节数,报文到达时间间隔,其一任意一项或者任意组合。
[0035] 从以上技术方案可以看出,通过对接收的报文提取用于分组的第一特征信息;根据提取的第一特征信息将接收的报文分组成不同的数据流;以及对该接收的报文提取用于识别数据流的类别的第二特征信息,该第二特征信息用于识别分组后的数据流的类型;该方案成功地忽略了接收到的报文特征中的顺序信息,相比较现有技术中,对接收到的数据报文,需要采集到发送端发送的同一个数据流的前五个报文大小,或者是采集前五个报文相邻到达时间间隔等操作,本方案针对在真实网络环境中乱序、丢包以及部分流的情形下精确率和准确度不会受到影响,能够快速准确的对归属不同数据流的报文分组区分,降低了数据预处理阶段的复杂度,并可以适用于多流判决的情况。

附图说明

[0036] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0037] 图1是本发明实施例一提供了一种报文特征提取方法流程简图;
[0038] 图2是本发明实施例一例举发射端发送的一条数据流的处理方案;
[0039] 图3是本发明实施例一例举发射端发送的一条以上数据流的处理方案;
[0040] 图4是本发明实施例二提供了一种报文特征提取方法流程简图;
[0041] 图5是本发明实施例三提供了一种报文特征提取装置示意简图;
[0042] 图6是本发明实施例四提供了一种报文特征提取装置示意简图。

具体实施方式

[0043] 本发明实施例提供了一种报文特征提取方法和装置,该方案对每一个报文采集并生成一个特征信息,由于将每一个数据报文独立地采集并生成一个特征向量,通过对特征向量的分析,可以识别出属于同一数据流中的各数据报文,使得报文次序信息可以忽略该特征可以方便进行多流识别的任务,在深度数据包检测(DPI,Deep Packet Inspection)当中,多流识别成为了识别对等网络(P2P,Peer to Peer)以及网络电话(VOIP,Voice over Internet Protocol)这些较难识别的数据流中,本方案提供的报文特征提取方法可以更准确的识别。
[0044] 结合下列各实施例,对本方案做详细的说明。
[0045] 实施例一
[0046] 本发明实施例提供了一种报文特征提取方法,如图1所示,该方法包括:
[0047] 步骤101,接收报文;在本实施例中,实时的接收对端通过无线网络或互联网或其它通信网络发送的报文。在本实施例中,接收的报文可以是由发射端发送给对应的接收设备的,该方法的执行主体可以是接收设备,需要理解的是,在发射设备中将同一条数据流中的数据以多个报文的形式发射出去,其中发射端发射归属于同一条数据流的多个报文以先后顺序发射出去,而接收设备接收报文,在实际的接收过程中,接收的报文的顺序收到环境的影响,并非按照发射端的先后顺序接收到多个报文,且在执行步骤101的过程中,接收设备并不能区分出多个报文是否归属于同一条数据流,对于接收设备也许收到的来自多个发射端发送的多个数据流的报文,或者接收到来自同一发射端发送的归属于多条不同数据流的多个报文。
[0048] 需要理解的是,数据流是用多个报文的形式表示,归属于同一条数据流中的报文中具有相同信息(例如在本实施例中将报文中提取的五元组信息对应相同,所说的提取的五元组信息对应相同应该理解为:以报文A和报文B中的五元组为例,报文A的源端口、目的端口、源IP地址、目的IP地址、传输层协议,与报文B的源端口、目的端口、源IP地址、目的IP地址、传输层协议对应相同,则报文A和报文B归属于同一条数据流),因此,接收设备可以从报文中提取相同的信息,对报文进行分组,归属同一组的报文属于同一条数据流。
[0049] 还需要理解的是,对于数据流的具体类型,即识别数据流的类型是本发明实施例提供的一种报文特征提取方法的一种具体应用。在实施例一中主要说明的是报文特征提取方法,对于具体的应用本发明实施一不做限制。
[0050] 步骤102,对该接收的报文提取用于分组的第一特征信息。
[0051] 在本实施例中,若接收了多个报文时,对每个报文提取用于分组第一特征信息。该用于分组的第一特征信息可以包括五元组信息。
[0052] 在本实施例中,该五元组信息包括:报文的源端口,目的端口,源IP地址,目的IP地址,传输层协议。在本实施例中,第一特征信息中的部分或者全部信息,进一步可以用于识别数据流的类别。
[0053] 步骤103,根据所述第一特征信息,将所述接收的报文分组,归属于同一组的报文属于同一条数据流。
[0054] 第一特征信息的用途主要是用于分组的,将接收到的所有报文分组,每一组报文对应一条数据流,因此分组的作用是将属于不同的数据流的报文区分开,便于后续对该条数据流的具体类型进行识别。若接收设备对数据流的具体类型的识别中要求获取到第一特征信息中的部分或者全部信息,则第一特征信息的部分或者全部信息也可以用于识别数据流的类别,第一特征信息的部分或者全部信息是否拥有识别数据流的类别,并非在识别数据流中的一定需要的条件,依据具体的设计要求决定。
[0055] 若第一特征信息具体为五元组信息,即报文的源端口,目的端口,源IP地址,目的IP地址,传输层协议,根据提取的第一特征信息将接收的报文分组成不同的数据流,具体可以包括:将五元组信息对应相同的报文分为一组,作为归属为同一条数据流中的报文,因此,将报文划分为一组或者一组以上,每一组可以理解为一条数据流。
[0056] 还需要理解的是,本申请所说的数据流类型至少包括:微信数据流,网络电话数据流(VoIP,Voice over Internet Protocol),在线游戏(Online Game)数据流,视频数据流,微软网络服务(MSN,Microsoft Service Network)数据流,Skpe数据流,Chat数据流。但数据流类型不限于当前的举例,依据不同的协议,会有不同的数据流类型,此处是便于理解的举例,并非穷举。
[0057] 其中,将五元组信息对应相同的报文分为一组,应该理解为:以报文A和报文B中的五元组为例,报文A的源端口、目的端口、源IP地址、目的IP地址、传输层协议,与报文B的源端口、目的端口、源IP地址、目的IP地址、传输层协议对应相同,报文A和报文B因此被划分为一组,则报文A和报文B归属于同一条数据流。
[0058] 步骤104,对该接收的报文提取用于识别数据流类别的第二特征信息,该第二特征信息用于识别上述分组后的数据流的类型。
[0059] 在本实施例中,该用于识别数据流的类别的第二特征信息包括报文大小,报文头部标志位,报文头部字节数,报文到达时间间隔,其一任意一项或者任意组合。
[0060] 其中,第二特征信息中也可以包括部分或者全部第一特征信息,即部分或者全部第一特征信息也可以用于识别数据流的类型。第二特征信息中在包括部分或者全部第一特征信息的基础上,还可以包括其他特征信息,如报文大小,报文头部标志位,报文头部字节数,报文到达时间间隔等其一任意一项或者任意组合。
[0061] 通过上述步骤101至步骤104的说明,该方法可以根据接收的报文中第一特征信息(如:五元组信息对应相同),将归属于不同数据流中的报文区分开来,将同属于一个数据流中的报文划分为一组。每一组数据报文也称为数据流。
[0062] 在提取第一特征信息的基础上,还可以提取报文第二特征信息,例如:第二特征信息可以是报文大小,报文头部标志位,报文头部字节数,报文到达时间间隔等,和/或部分或者全部第一特征信息,此处仅是便于理解的举例,并非穷举,需要理解的是,针对不同的数据流识别方案,所选取的报文特征信息会不同。本方案不对具体的数量流识别方案做限制,本方案提供了一种报文特征的提取方案,在提取到报文的五元组信息后,可以识别出同属于相同数据流的报文,同时可以忽略数据流中报文的顺序。
[0063] 其中,步骤104,对该接收的报文提取用于识别数据流的类别的第二特征信息,具体可以是:如图2所示,在判断报文归属于不同的数据流后,根据不同的数据流对报文进行分组,归属于同一数据流的报文为一组,为了便于在如数据流的类型的识别应用中,对提取的第二特征信息进行管理,可以用特征向量的形式表示提取第二特征信息,例如第二特征信息包括部分或者全部五元组信息(或者五元组特征),还包括提取的一个或者一个以上其他特征,以其他特征以报文大小,为例。因此,可以选取源端口、目的端口、协议、报文大小这四个特征作为表示第二特征信息的特征向量,将其抽象为一个特征向量{x1,x2,x3,x4},其中xi(i为1、2、3、4)代表了从该数据报文中提取的第二特征信息。最后,将该数据流中所有的报文特征向量集合起来就形成了该数据流的特征向量组了,将其抽象为:
[0064] 其中, 代表第i个数据报文的特征向量,n为提取的第二特征的个数,当前举例的n为4。
[0065] 如图3所示,若步骤103中根据提取的第一特征信息将接收的报文分组成不同的数据流,若分组后有多个组,即有多个数据流,对一条以上数据流的中每个报文提取的特征组成的向量的集合,形成了多数据流的特征向量组,采用如下形式表示:
[0066] 其中, 代表第p个数据流的第m个报文的特征向量。
[0067] 通过上述说明的一种报文特征提取方法,通过对接收的报文提取用于分组的第一特征信息;根据提取的第一特征信息将接收的报文分组成不同的数据流;以及对该接收的报文提取用于识别数据流的类别的第二特征信息,该第二特征信息用于识别分组后的数据流的类型;使得该方案成功地忽略了接收到的报文特征中的顺序信息,相比较现有技术中,对接收到的数据报文,需要采集到发送端发送的同一个数据流的前五个报文大小,或者是采集前五个报文相邻到达时间间隔等操作,本方案针对在真实网络环境中乱序、丢包以及部分流的情形下精确率和准确度不会受到影响,能够快速准确的对归属不同数据流的报文分组区分,降低了数据预处理阶段的复杂度,并可以适用于多流判决的情况。
[0068] 实施例二
[0069] 本发明实施例提供了一种报文特征提取方法,该方法与上述实施例一提供的方法相同,不同之处在于本实施例中重点说明如实施例一所述方法的一种具体的应用场景,便于理解本发明实施例提供的方案。如图4所示,该方法包括:
[0070] 步骤201,接收报文。在本实施例中,实时的接收对端通过无线网络或互联网或其它通信网络发送的报文。在本实施例中,接收的报文可以是由发射端发送给对应的接收设备的,该方法的执行主体可以是接收设备,需要理解的是,在发射设备中将同一条数据流中的数据以多个报文的形式发射出去,其中发射端发射归属于同一条数据流的多个报文以先后顺序发射出去,而接收设备接收报文,在实际的接收过程中,接收的报文的顺序收到环境的影响,并非按照发射端的先后顺序接收到多个报文,且在执行步骤201的过程中,接收设备并不能区分出多个报文是否归属于同一条数据流,对于接收设备也许收到的来自多个发射端发送的多个数据流的报文,或者接收到来自同一发射端发送的归属于多条不同数据流的多个报文。
[0071] 需要理解的是,数据流是用多个报文的形式表示,归属于同一条数据流中的报文中具有相同信息(例如在本实施例中将报文中提取的五元组信息对应相同,所说的提取的五元组信息对应相同应该理解为:以报文A和报文B中的五元组为例,报文A的源端口、目的端口、源IP地址、目的IP地址、传输层协议,与报文B的源端口、目的端口、源IP地址、目的IP地址、传输层协议对应相同,则报文A和报文B归属于同一条数据流),因此,接收设备可以从报文中提取相同的信息,对报文进行分组,归属同一组的报文属于同一条数据流。
[0072] 步骤202,对接收的每个报文提取五元组信息,所述的五元组信息包括:报文的源端口,目的端口,源IP地址,目的IP地址,传输层协议。
[0073] 步骤203,将提取的五元组信息对应相同的报文,判断为归属于同一数据流,从而对报文进行分组。将五元组信息对应相同的报文分为一组,应该理解为:以报文A和报文B中的五元组为例,报文A的源端口、目的端口、源IP地址、目的IP地址、传输层协议,与报文B的源端口、目的端口、源IP地址、目的IP地址、传输层协议对应相同,报文A和报文B因此被划分为一组,则报文A和报文B归属于同一条数据流。
[0074] 步骤204,对该接收的报文提取用于识别数据流的类别的第二特征信息,该第二特征信息用于识别上述分组后的数据流的类型。其中,提取的第二特征信息具体可以如步骤104中例举的向量形式表示。还需要说明的是,第二特征信息用于识别上述分组后的数据流的类型,具体的识别方法可以是决策树算法,也可以贝叶斯算法等,应用现有的如决策树算法,或者贝叶斯算法等可以识别分组后的数据流的类型。
[0075] 在本实施例中,该用于识别数据流的类别的第二特征信息包括报文大小,报文头部标志位,报文头部字节数,报文到达时间间隔,等。
[0076] 其中,第二特征信息中也可以包括部分或者全部第一特征信息,即部分或者全部第一特征信息也可以用于识别数据流的类型。第二特征信息中在包括部分或者全部第一特征信息的基础上,还可以包括其他特征信息,如报文大小,报文头部标志位,报文头部字节数,报文到达时间间隔等。
[0077] 步骤204中第二特征信息用于识别上述分组后的数据流的类型,一种具体的识别方法举例,可以包括:
[0078] 由于报文特征提取的方法是基于每一个报文独立地提取出它的特征,因此报文特征向量各个维度之间是互相独立的,具体的流量识别机器学习方法的采用上可以首先将得到的这些报文特征向量进行聚类,聚成N个中心点。然后设每一个应用类别都是由一个N维向量组成,向量中每一个维度上的数值代表隶属该应用类别的特征向量与该维度所代表的中心点之间距离最近的个数。将利用这些报文特征向量上的应用标签(应用标签指的是这个报文的应用类型,比如说是从QQ发过来的报文,还是从微信发过来的报文。有监督的机器学习事先将各个报文所属的类别标注好了),对隶属于每一个应用中的所有的特征向量进行最近邻分析,从而为每一个应用类别生成一个N维向量,最终的学习结果是每一个应用类别与之相对应的N维向量。识别的过程与学习过程相似,也是对某一数据流中的报文进行特征采集,然后依靠上述的N个中心点进行最近邻分析,得出该数据流所对应的N维向量,与各个应用类别的N维向量进行相似度匹配,找出相似程度最大的类别从而将该数据流识别为该类别。以上过程只是简单地举了一个例子说明了这种报文提取方法在实际应用场景中的具体用法,事实上可以搭配其他更多不同的做法来发挥该报文特征提取方法的应用,在此就不再一一列举了。
[0079] 通过上述实施例二说明的一种报文特征提取方法,通过对接收的报文提取用于分组的第一特征信息;根据提取的第一特征信息将接收的报文分组成不同的数据流;以及对该接收的报文提取用于识别数据流的类别的第二特征信息,该第二特征信息用于识别分组后的数据流的类型;使得该方案成功地忽略了报文特征中的顺序信息,使得在真实网络环境中乱序、丢包以及部分流的情形下精确率和准确度不会受到影响,并可以适用于多流判决的情况。
[0080] 实施例三
[0081] 本发明实施例提供一种报文特征提取装置,如图5所示,该装置包括:接收单元301,第一提取单元302,分组单元303,和第二提取单元304;
[0082] 所述接收单元301,用于接收报文;
[0083] 在本实施例中,实时的接收对端通过无线网络或互联网或其它通信网络发送的报文。在本实施例中,接收的报文可以是由发射端发送给本实施例装置的,需要理解的是,在发射设备中将同一条数据流中的数据以多个报文的形式发射出去,其中发射端发射归属于同一条数据流的多个报文以先后顺序发射出去,而接收设备接收报文,在实际的接收过程中,接收的报文的顺序收到环境的影响,并非按照发射端的先后顺序接收到多个报文。
[0084] 所述第一提取单元302,用于对所述接收到的报文提取用于分组的第一特征信息;
[0085] 在本实施例中,若接收了多个报文时,对每个报文提取用于分组第一特征信息。该用于分组的第一特征信息可以包括五元组信息。
[0086] 在本实施例中,该五元组信息包括:报文的源端口,目的端口,源IP地址,目的IP地址,传输层协议。在本实施例中,第一特征信息中的部分或者全部信息,进一步可以用于识别数据流的类别。
[0087] 所述分组单元303,用于根据所述第一特征信息,将所述接收的报文分组,归属于同一组的报文属于同一条数据流;
[0088] 第一特征信息的用途主要是用于分组的,将接收到的所有报文分组,每一组报文对应一条数据流,因此分组的作用是将属于不同的数据流的报文区分开,便于后续对该条数据流的具体类型进行识别。
[0089] 所述第二提取单元304,用于对所述接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别分组后的数据流的类型。
[0090] 在本实施例中,该用于识别数据流的类别的第二特征信息包括报文大小,报文头部标志位,报文头部字节数,报文到达时间间隔等。
[0091] 其中,第二特征信息中也可以包括部分或者全部第一特征信息,即部分或者全部第一特征信息也可以用于识别数据流的类型。第二特征信息中在包括部分或者全部第一特征信息的基础上,还可以包括其他特征信息,如报文大小,报文头部标志位等其一任意一项或者任意组合。
[0092] 通过上述说明的一种报文特征提取装置,通过对接收的报文提取用于分组的第一特征信息;根据提取的第一特征信息将接收的报文分组成不同的数据流;以及对该接收的报文提取用于识别数据流的类别的第二特征信息,该第二特征信息用于识别分组后的数据流的类型;使得该方案成功地忽略了报文特征中的顺序信息,使得在真实网络环境中乱序、丢包以及部分流的情形下精确率和准确度不会受到影响,降低了数据预处理阶段的复杂度,并可以适用于多流判决的情况。
[0093] 优选的,所述第一特征信息为五元组信息,所述五元组信息包括:源端口、目的端口、源IP地址、目的IP地址、传输层协议;
[0094] 所述分组单元,具体用于将五元组信息对应相同的报文,划分为同一组,归属于同一组的报文属于同一条数据流。
[0095] 优选的,所述第二提取单元,具体用于:
[0096] 若所述分组单元中的分组结果是报文分组后仅有一组,则所述仅有一组的报文属于一条数据流,对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别所述一条数据流的类型,所述第二特征信息用向量组形式表示为:
[0097]
[0098] 其中, 代表第i个数据报文的特征向量,n为提取的所述第二特征的个数;
[0099] 若所述分组单元中的分组结果是报文分组后有一组以上,则对应有一组以上的数据流,对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别所述一条数据流的类型,所述第二特征信息用向量组形式表示为:
[0100] 其中, 代表第p个数据流的第m个报文的特征向量,n为提取的所述第二特征的个数。
[0101] 优选的,所述所述第二特征信息包括:部分或者全部所述第一特征信息;所述第二特征信息还包括:报文大小,报文头部标志位,报文头部字节数,报文到达时间间隔,其一任意一项或者任意组合。
[0102] 上述对本发明实施例提供的装置的说明,可以对应的参照实施例一、二中方法的说明,此处不重述。
[0103] 实施例四
[0104] 本发明实施例提供一种报文特征提取装置,如图6所示,该装置包括:包括分别连接到总线上的存储器40、处理器41、输入装置43和输出装置44,
[0105] 其中,存储器40中用来储存从输入装置43输入的数据,且还可以储存处理器41处理数据的必要文件等信息;
[0106] 输入装置43,用于接收报文;
[0107] 处理器41,用于对所述接收到的报文提取用于分组的第一特征信息;根据所述第一特征信息,将所述接收的报文分组,归属于同一组的报文属于同一条数据流;对所述接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别分组后的数据流的类型。
[0108] 输出装置44,用于将提取的第二特征信息输出。
[0109] 通过上述说明的一种报文特征提取装置,通过对接收的报文提取用于分组的第一特征信息;根据提取的第一特征信息将接收的报文分组成不同的数据流;以及对该接收的报文提取用于识别数据流的类别的第二特征信息,该第二特征信息用于识别分组后的数据流的类型;使得该方案成功地忽略了报文特征中的顺序信息,使得在真实网络环境中乱序、丢包以及部分流的情形下精确率和准确度不会受到影响,降低了数据预处理阶段的复杂度,并可以适用于多流判决的情况。
[0110] 优选的,所述第一特征信息为五元组信息,所述五元组信息包括:源端口、目的端口、源IP地址、目的IP地址、传输层协议;
[0111] 所述分组单元,具体用于将五元组信息对应相同的报文,划分为同一组,归属于同一组的报文属于同一条数据流。
[0112] 优选的,所述处理器41,用于对所述接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别分组后的数据流的类型,具体包括:
[0113] 若所述分组单元中的分组结果是报文分组后仅有一组,则所述仅有一组的报文属于一条数据流,对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别所述一条数据流的类型,所述第二特征信息用向量组形式表示为:
[0114]
[0115] 其中, 代表第i个数据报文的特征向量,n为提取的所述第二特征的个数;
[0116] 若所述分组单元中的分组结果是报文分组后有一组以上,则对应有一组以上的数据流,对接收到的报文提取用于识别数据流类型的第二特征信息,所述第二特征信息用于识别所述一条数据流的类型,所述第二特征信息用向量组形式表示为:
[0117] 其中, 代表第p个数据流的第m个报文的特征向量,n为提取的所述第二特征的个数。
[0118] 优选的,所述第二特征信息包括:部分或者全部所述第一特征信息;所述第二特征信息还包括:报文大小,报文头部标志位,报文头部字节数,报文到达时间间隔,其一任意一项或者任意组合。
[0119] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0120] 以上对本发明所提供的一种报文特征提取方法和装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。