CN104796300B - 一种数据包特征提取方法及装置 - Google Patents
一种数据包特征提取方法及装置 Download PDFInfo
- Publication number
- CN104796300B CN104796300B CN201510129065.0A CN201510129065A CN104796300B CN 104796300 B CN104796300 B CN 104796300B CN 201510129065 A CN201510129065 A CN 201510129065A CN 104796300 B CN104796300 B CN 104796300B
- Authority
- CN
- China
- Prior art keywords
- data flow
- feature
- characteristic
- node
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种数据包特征提取方法及装置,涉及计算机领域,实现了简单高效的数据包提取;具体方案为:获取包括至少一个报文的数据包;解析数据包,将数据包中五元组相同的报文汇聚为一个数据流,得到X个数据流;对X个数据流中的每一个数据流,采用预设数据库中所述数据流的协议类型对应的每个特征识别模型分别进行识别,获取X个数据流的所有类型的特征集合;从X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征。本发明用于数据包特征提取。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种数据包特征提取方法及装置。
背景技术
随着网络技术的发展,深度数据包检测(Deep Packet Inspection,简称DPI)应运而生。DPI技术是一项已经在流量管理、安全和网络分析等方面获得成功的技术,该技术通过提取数据包的特征对数据包进行识别,进而对数据包进行内容分析流量管理、安全和网络分析等方面的分析与操作。
对于数据包的特征的提取,最初采用人工肉眼比对归纳的方式,不仅工作量大且特征归纳不全。之后,为了解决人工肉眼比对归纳数据包特征的方式引出的问题,采用较为精细的方式,即通过数据包载荷中的特征进行检测识别,进而归纳数据包的特征。
上述通过数据包载荷中的特征进行检测识别,由于数据包中存在大量的报文,使得通过检测识别大量的报文的载荷以提取数据包的特征的方式,过程繁琐且效率较低。
发明内容
本发明的实施例提供一种数据包特征提取方法及装置,实现简单、高效的提取网络数据包的特征。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种数据包特征提取方法,所述方法包括:
获取包括至少一个报文的数据包;
解析所述数据包,将所述数据包中五元组相同的报文汇聚为一个数据流,得到X个数据流;其中,所述X大于或等于1;
对所述X个数据流中的每一个数据流,采用预设数据库中所述数据流的协议类型对应的每个类型的特征识别模型分别进行识别,获取所述X个数据流的所有类型的特征集合;其中,所述预设数据库包括每个协议类型对应的至少一个类型的特征识别模型;一个所述类型的特征集合对应一个类型的特征识别模型,且包括至少一个特征节点;一个所述特征节点包括一个特征;
从所述X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征;其中,所述Y大于或等于1。
结合第一方面,在第一方面的第一种可能的实现方式中,对于第一数据流,采用所述预设数据库中所述第一数据流的协议类型对应的第一特征识别模型进行识别,包括:
将所述第一数据流的识别信息,与第一特征识别模型的特征集合中的特征节点对比;其中,所述第一数据流为所述X个数据流中任意一个数据流;所述第一特征识别模型为所述第一数据流的协议类型在所述预设数据库中对应的所有特征识别模型中的任意一个类型的特征识别模型;所述识别信息为应用层协议元数据或负载体;
若所述第一特征识别模型的特征集合中存在A个特征节点中的特征,与所述第一数据流的识别信息匹配,将所述第一数据流的标识分别添加至所述A个特征节点中;所述A大于或等于1;
若所述第一特征识别模型的特征集合中不存在与所述第一数据流的识别信息匹配的特征,在所述第一特征识别模型的特征集合中新增与所述第一数据流的识别信息匹配的特征节点,并将所述第一数据流的标识添加至所述与所述第一数据流的识别信息匹配的特征节点中。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述特征集合为树形结构;
所述在所述第一特征识别模型的特征集合中新增包含所述第一数据流的识别信息的特征节点,包括:
在所述第一特征识别模型的特征集合中,将新增的与所述第一数据流的识别信息匹配的特征节点按照树形结构的分支挂载。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,一个类型的特征识别模型对所述X个数据流中与所述一个类型的特征识别模型对应的协议类型相同的数据流进行识别得到所述一个类型的特征识别模型的特征集合;
所述获取所述X个数据流的所有类型的特征集合,包括:
将所述X个数据流,采用预设数据库中所述数据流的协议类型对应的所有特征识别模型分别进行识别之后,用于识别所述X个数据流的每一个类型的特征识别模型的特征集合作为所述X个数据流的所有类型的特征集合。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第三种可能的实现方式中任一项,在第一方面的第四种可能的实现方式中,一个所述特征节点还包括具有该特征节点中的特征的数据流的标识;
所述Y个特征中每一个特征所属的特征节点中的数据流的标识相互不完全包含。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第四种可能的实现方式中任一项,在第一方面的第五种可能的实现方式中,所述从所述X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征,包括:
输出所述X个数据流的所有类型的特征集合;
接收管理员输入的从所述X个数据流的所有类型的特征集合中选择的所述Y个特征作为所述数据包的特征。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第五种可能的实现方式中任一项,在第一方面的第六种可能的实现方式中,所述数据流还包括流量值;一个所述特征节点还包括具有该特征节点中的特征的数据流的总流量值;
在所述从所述X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征之后,所述方法还包括:
将所述Y个特征所属的特征节点中包括的总流量值相加,除以所述X个数据流的总流量值,作为所述Y个特征对所述数据包的识别度。
第二方面,提供一种数据包特征提取装置,所述装置包括:
获取单元,用于获取包括至少一个报文的数据包;
解析汇聚单元,用于解析所述数据包,将所述数据包中五元组相同的报文汇聚为一个数据流,得到X个数据流;其中,所述X大于或等于1;
识别单元,用于对所述X个数据流中的每一个数据流,采用预设数据库中所述数据流的协议类型对应的每个类型的特征识别模型分别进行识别,获取所述X个数据流的所有类型的特征集合;其中,所述预设数据库包括每个协议类型对应的至少一个类型的特征识别模型;一个所述类型的特征集合对应一个类型的特征识别模型,且包括至少一个特征节点;一个所述特征节点包括一个特征;
选择单元,用于从所述X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征;其中,所述Y大于或等于1。
结合第二方面,在第二方面的第一种可能的实现方式中,对于第一数据流,所述识别单元采用所述预设数据库中所述第一数据流的协议类型对应的第一特征识别模型进行识别,包括:
将所述第一数据流的识别信息,与第一特征识别模型的特征集合中的特征节点对比;其中,所述第一数据流为所述X个数据流中任意一个数据流;所述第一特征识别模型为所述第一数据流的协议类型在所述预设数据库中对应的所有特征识别模型中的任意一个类型的特征识别模型;所述识别信息为应用层协议元数据或负载体;
若所述第一特征识别模型的特征集合中存在A个特征节点中的特征,与所述第一数据流的识别信息匹配,将所述第一数据流的标识分别添加至所述A个特征节点中;所述A大于或等于1;
若所述第一特征识别模型的特征集合中不存在与所述第一数据流的识别信息匹配的特征,在所述第一特征识别模型的特征集合中新增与所述第一数据流的识别信息匹配的特征节点,并将所述第一数据流的标识添加至所述与所述第一数据流的识别信息匹配的特征节点中。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述特征集合为树形结构;
所述识别单元在所述第一特征识别模型的特征集合中新增包含所述第一数据流的识别信息的特征节点,包括:
在所述第一特征识别模型的特征集合中,将新增的与所述第一数据流的识别信息匹配的特征节点按照树形结构的分支挂载。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,一个类型的特征识别模型对所述X个数据流中与所述一个类型的特征识别模型对应的协议类型相同的数据流进行识别得到所述一个类型的特征识别模型的特征集合;
所述识别单元获取所述X个数据流的所有类型的特征集合,包括:
将所述X个数据流,采用预设数据库中所述数据流的协议类型对应的所有特征识别模型分别进行识别之后,用于识别所述X个数据流的每一个类型的特征识别模型的特征集合作为所述X个数据流的所有类型的特征集合。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第三种可能的实现方式中任一项,在第二方面的第四种可能的实现方式中,
一个所述特征节点还包括具有该特征节点中的特征的数据流的标识;
所述Y个特征中每一个特征所属的特征节点中的数据流的标识相互不完全包含。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第四种可能的实现方式中任一项,在第二方面的第五种可能的实现方式中,所述选择单元具体用于:
输出所述X个数据流的所有类型的特征集合;
接收管理员输入的从所述X个数据流的所有类型的特征集合中选择的所述Y个特征作为所述数据包的特征。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第五种可能的实现方式中任一项,在第二方面的第六种可能的实现方式中,所述数据流还包括流量值;一个所述特征节点还包括具有该特征节点中的特征的数据流的总流量值;
所述装置还包括:
计算单元,用于在所述从所述X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征之后,将所述Y个特征所属的特征节点中包括的总流量值相加,除以所述X个数据流的总流量值,作为所述Y个特征对所述数据包的识别度。
本发明实施例提供的数据包特征提取方法及装置,通过对数据包中的报文汇聚生成数据流,将每一个数据流根据所述数据流的协议类型按照协议类型在预设数据库中对应的每个特征识别模型分别进行识别,获取到数据包中所有数据流的所有类型的特征集合,最终从特征集合中选择特征用于识别数据包。汇聚之后再识别,使得识别过程简单,相同类型的报文进行一次识别即可,因此,识别效率高,达到了简单高效率的数据包的特征的提取,解决了现有技术中数据包特征提取时过程繁琐效率较低的缺陷。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据包特征提取方法的流程示意图;
图2为本发明实施例提供的一种特征集合树形结构的结构示意图;
图3为本发明实施例提供的另一种特征集合树形结构的结构示意图;
图4为本发明实施例提供的另一种数据包特征提取方法的流程示意图;
图5为本发明实施例提供的又一种特征集合树形结构的结构示意图;
图6为本发明实施例提供的再一种特征集合树形结构的结构示意图;
图7为本发明实施例提供的再一种特征集合树形结构的结构示意图;
图8为本发明实施例提供的一种数据包特征提取装置的结构示意图;
图9为本发明实施例提供的一种数据包特征提取装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种数据包特征提取方法,如图1所示,该方法可以包括:
S101、获取包括至少一个报文的数据包。
其中,所述数据包为网络运行过程中传输的数据包,该数据包中包括至少一个报文。
具体的,对于获取数据包的方式,可以包括但不限于以下两种方式:
方式1、通过实时网卡抓取数据包的方式获取数据包。
示例性的,若本实施例的执行主体是通过实时网卡抓取数据包的方式获取数据包,在网络运行的过程中,实时抓取的数据包可以保存为INPUT目录下的抓包(packetcapture,简称pcap)文件,当执行S101时,通过依次读取INPUT目录下的所有pcap文件获取数据包。
方式2、通过导入数据包的方式获取数据包。
示例性的,若本实施例的执行主体是通过实时网卡抓取数据包的方式获取数据包,当执行S101时,可以向管理员弹出对话框(FileDialog),使得管理员通过点击弹出的FileDialog选择需要读取的pcap文件以获取数据包。
进一步的,在S101之后,所述方法还可以包括:若数据包加密,根据数据包的加密方式,选择相应的解密方式对数据包解密,以便于执行S102。
S102、解析数据包,将数据包中五元组相同的报文汇聚为一个数据流,得到X个数据流。
其中,所述X大于或等于1。
五元组是指报文中包括的源互连网协议(Internet Protocol,简称IP)、目的IP、源端口、目的端口、传输层协议类型。
S103、对X个数据流中的每一个数据流,采用预设数据库中所述数据流的协议类型对应的每个类型的特征识别模型分别进行识别,获取X个数据流的所有类型的特征集合。
其中,所述预设数据库包括每个协议类型对应的至少一个类型的特征识别模型;
其中,数据流的协议类型包含于数据流的报文中;一个数据流中包括的报文的协议类型相同。
具体的,报文一定包括传输层协议类型,但不一定包括应用层协议类型;若报文中包括应用层协议类型,则该报文所属的数据流的协议类型为应用层协议;若报文中不包括应用层协议类型,则该报文所属的数据流的协议类型为传输层协议。
示例性的,数据流的协议类型可以为下述类型中的一种:超文本传输协议(HyperText Transfer Protocol,简称HTTP)、传输控制协议(Transmission ControlProtocol,简称TCP)类型、用户数据包协议(User Datagram Protocol,简称UDP)类型等。
可选的,特征识别模型可以为域名(host)特征识别模型、用户代理(User Agent,简称UA)特征识别模型、关键字特征识别模型等。对于特征识别模型的类型,可以根据实际需求作为可配置项,本发明对此不进行具体限定。
可选的,在预设数据库中,一种协议类型可以对应至少一个类型的特征识别模型;本发明对于预设数据库中,协议类型与特征识别模型的对应关系不进行具体限定,可以根据实际需求作为可配置项。
示例性的,预设数据库可以采用表格的形式存储,如表1所示,示意一种预设数据库:
表1
需要说明的是,表1只是以举例的形式说明预设数据库的形式及内容,并不是对预设数据库的形式及内容的具体限定;在实际应用的过程中,可以根据实际需要预设数据库的形式及内容。
优选的,可以根据人工经验完善预设数据库中的对应关系,以使得数据包特征的提取更符合实际需求。
其中,一个类型的特征集合对应一个类型的特征识别模型,即,一个类型的特征集合是由该特征集合对应的特征识别模型,对数据包中需要进行这种识别的所有数据流均进行识别之后得到的。
一个特征集合包括至少一个特征节点;一个特征节点包括一个特征以及具有所述一个特征的数据流的标识。
进一步的,一个特征节点还可以包括具有该特征节点中的特征的数据流的标识。
示例性的,如表2所示,示意一种特征集合中的特征节点所包括的特征以及具有该特征的数据流的标识。
表2
特征节点 | 特征 | 数据流的标识 |
特征节点1 | 特征1 | 数据流1、数据流2 |
特征节点2 | 特征2 | 数据流1、数据流3、数据流4、数据流5 |
特征节点3 | 特征3 | 数据流6 |
…… | …… | …… |
具体的,对每一个数据流的识别过程相同,下面以对第一数据流的识别为例,对S103中所述采用预设数据库中所述数据流的协议类型对应的每个特征识别模型进行识别的过程进行详细说明;其中,第一数据流为X个数据流中任意一个数据流。
示例性的,对于第一数据流,采用预设数据库中所述第一数据流的协议类型对应的第一特征识别模型进行识别,可以包括:
步骤A:将第一数据流的识别信息,与第一特征识别模型的特征集合中的特征节点对比。
其中,第一特征识别模型为第一数据流的协议类型在预设数据库中对应的所有特征识别模型中的任意一个类型的特征识别模型。
可选的,所述识别信息为应用层协议元数据或负载体,识别信息是数据流进行特征识别时的参考信息。
具体的,若数据流的协议类型为应用层协议,则该数据流的识别信息为数据流应用层协议元数据。其中,应用层协议元数据可以为host、UA等,本发明对此不进行具体限定。
若数据流的协议类型为传输层协议,则该数据流的识别信息为数据流的负载体。
进一步的,当数据流的识别信息为数据流的负载体时,可以配置数据流的负载体中的N个字节作为关键字进行特征识别。
需要说明的是,“N个字节”在数据流中的位置,可以根据实际需求设定,例如,可以为数据流的前N个字节,或者也可以为数据流的后N个字节,或者还可以为数据流的第M个字节开始的N个字节。本发明对于“N个字节”在数据流中的位置不进行具体限定。
还需要说明的是,对于N的取值范围,可以根据实际需求设定,本发明对此也不进行具体限定。N的取值越大,识别结果越准确,但效率较低;N的取值越小,识别效率高,但是影响识别准确度。
其中,应用层协议元数据可以为host、UA等,本发明对此不进行具体限定。
需要说明的是,当应用层协议元数据为多级结构(例如host)的信息时,在进行特征识别之前,需要将应用层协议元数据逐级拆分为多个识别内容,此时,识别信息则包括多个识别内容;那么,所述将第一数据流的识别信息,与第一特征识别模型的特征集合中的特征节点对比,包括:
将识别信息中的每一个识别内容分别与第一特征识别模型的特征集合中的特征节点对比。
示例性的,假设根据第一数据流的协议类型,对第一数据流进行host识别;第一数据流中的host为a.b.c.d。
那么,在进行特征识别之前,将a.b.c.d逐级拆分为多个识别内容,分别为:
识别内容1:.d。
识别内容2:.c.d;
识别内容3:.b.c.d;
识别内容4:a.b.c.d。
然后,分别将识别内容1~识别内容4与host识别的特征集合中每一个特征节点的特征进行匹配。
可选的,第一特征识别模型的特征集合可以存储于缓存中。
需要说明的是,若第一数据流是所述X个数据流中第一个采用第一特征识别模型进行识别的数据流,那么,第一特征识别模型的特征集合为空或者不存在。
进一步的,在执行上述步骤A的过程中,可以将第一数据流的识别信息,与第一特征识别模型的特征集合中的特征节点,按照任意的顺序进行对比。
优选的,在执行上述步骤A的过程中,可以将第一数据流的识别信息,与第一特征识别模型的特征集合中的特征节点,按照层级顺序进行对比,当对比过程中出现特征节点中的特征,与所述第一数据流的识别信息匹配,则下层的其他特征节点中的特征无需再进行比对,以提高比对效率。
步骤B:根据步骤A的对比结果,更新第一特征识别模型的特征集合。
具体的,若第一特征识别模型的特征集合中存在A个特征节点中的特征,与所述第一数据流的识别信息匹配,将所述第一数据流的标识分别添加至所述A个特征节点中;所述A大于或等于1;
其中,A的数值与识别信息中包括的识别内容的数量相同。
若第一特征识别模型的特征集合中不存在与第一数据流的识别信息匹配的特征,在第一特征识别模型的特征集合中新增与第一数据流的识别信息匹配的特征节点,并将第一数据流的标识添加至与第一数据流的识别信息匹配的特征节点中。
具体的,对于匹配的具体定义,可以取决于识别信息的内容。
可选的,若识别信息为应用层协议元数据,识别信息与特征节点匹配可以为特征节点中的特征与识别信息相同;
若识别信息为负载体,识别信息与特征节点匹配可以为识别信息包含特征节点中的特征。
进一步的,当识别信息与特征节点匹配为识别信息包含特征节点中的特征时,特征节点还可以包括识别信息中包含特征节点中的特征在该识别信息中的位置。
进一步的,当特征集合为树形结构时,所述在所述第一特征识别模型的特征集合中新增包含所述第一数据流的识别信息的特征节点,可以包括:
在所述第一特征识别模型的特征集合中,将新增的与所述第一数据流的识别信息匹配的特征节点按照树形结构的分支挂载。
需要说明的是,上述步骤A和步骤B仅描述了对一个数据流进行一种特征识别的过程,对于一个数据流进行不同特征识别的过程均与上述步骤A和步骤B相同,此处不再进行赘述。
示例1,假设根据数据流1的协议类型,对数据流1进行host识别,数据流1的应用层协议元数据中的host为A.B.C.D。
那么,在进行特征识别之前,将A.B.C.D逐级拆分为多个识别内容,分别为:(.D)、(.C.D)、(.B.C.D)、(A.B.C.D)。
假设数据流1是所属的数据包中第一个进行host识别的数据流,因此,host识别的特征集合为空。
下面详细描述对数据流1进行host识别的过程:
先将识别内容.D与host识别的特征集合中每一个特征节点的特征进行匹配,由于host识别的特征集合为空,因此,不存在与识别内容匹配的特征,则在host识别的特征集合中新增与识别内容.D匹配的特征节点(包含特征:.D),并将数据流1的标识添加至新增的节点中。更新后的host识别的特征集合如表3所示。
表3
特征节点 | 特征 | 数据流的标识 |
特征节点1 | .D | 数据流1 |
再将识别内容.C.D与表3所示的host识别的特征集合中每一个特征节点的特征进行匹配,不存在与识别内容匹配的特征,则在表3所示的host识别的特征集合中新增与识别内容.C.D匹配的特征节点(包含特征:.C.D),并将数据流1的标识添加至新增的节点中。更新后的host识别的特征集合如表4所示。
进一步的,当host识别的特征集合为树型结构时,新增的与识别内容.C.D匹配的特征节点(包含特征:.C.D)按照树形结构的分支挂载,即挂载在特征节点1的下一级。
表4
特征节点 | 特征 | 数据流的标识 |
特征节点1 | .D | 数据流1 |
特征节点2 | .C.D | 数据流1 |
再将识别内容.B.C.D与表4所示的host识别的特征集合中每一个特征节点的特征进行匹配,不存在与识别内容匹配的特征,则在表4所示的host识别的特征集合中新增与识别内容.B.C.D匹配的特征节点(包含特征:.B.C.D),并将数据流1的标识添加至新增的节点中。更新后的host识别的特征集合如表5所示。
进一步的,当host识别的特征集合为树型结构时,新增的与识别内容.B.C.D匹配的特征节点(包含特征:.B.C.D)按照树形结构的分支挂载,即挂载在特征节点2的下一级。
表5
特征节点 | 特征 | 数据流的标识 |
特征节点1 | .D | 数据流1 |
特征节点2 | .C.D | 数据流1 |
特征节点3 | .B.C.D | 数据流1 |
再将识别内容A.B.C.D与表5所示的host识别的特征集合中每一个特征节点的特征进行匹配,不存在与识别内容匹配的特征,则在表5所示的host识别的特征集合中新增与识别内容A.B.C.D匹配的特征节点(包含特征:A.B.C.D),并将数据流1的标识添加至新增的节点中。更新后的host识别的特征集合如表6所示。
进一步的,当host识别的特征集合为树型结构时,新增的与识别内容A.B.C.D匹配的特征节点(包含特征:A.B.C.D),按照树形结构的分支挂载,即挂载在特征节点3的下一级。
表6
特征节点 | 特征 | 数据流的标识 |
特征节点1 | .D | 数据流1 |
特征节点2 | .C.D | 数据流1 |
特征节点3 | .B.C.D | 数据流1 |
特征节点4 | A.B.C.D | 数据流1 |
至此,完成了对数据流1的host识别。
进一步的,表6所示的特征集合可以为树形结构,如图2所示。
进一步示例,以上述示例1为基础,假设数据流1所属的数据包被解析汇聚为数据流1、数据流2,且根据两个数据流的协议类型均需进行host识别,上述内容已经描述了对数据流1进行host识别的过程,假设数据流2的应用层协议元数据中host为:A.E.D,下面描述对数据流2进行host识别:
在进行特征识别之前,将A.E.D逐级拆分为多个识别内容,分别为:(.D)、(.E.D)、(A.E.D)。
先将识别内容D与表6所示的host识别的特征集合中每一个特征节点的特征进行匹配,存在特征节点1中的特征与识别内容D匹配,则无需再将识别内容D与表6所示的host识别的特征集合中除特征节点1之外的其他特征节点中的特征进行比对,将数据流2的标识添加至特征节点1中即可。更新后的host识别的特征集合如表7所示。
表7
特征节点 | 特征 | 数据流的标识 |
特征节点1 | .D | 数据流1、数据流2 |
特征节点2 | .C.D | 数据流1 |
特征节点3 | .B.C.D | 数据流1 |
特征节点4 | A.B.C.D | 数据流1 |
再将识别内容.E.D与表7所示的host识别的特征集合中每一个特征节点的特征进行匹配,不存在与识别内容匹配的特征,则在表7所示的host识别的特征集合中新增与识别内容.E.D匹配的特征节点(包含特征:.E.D),并将数据流2的标识添加至新增的节点中。更新后的host识别的特征集合如表8所示。
进一步的,当host识别的特征集合为树型结构时,新增的与识别内容.E.D匹配的特征节点(包含特征:.E.D),按照树形结构的分支挂载,即挂载在特征节点1的下一级。
表8
特征节点 | 特征 | 数据流的标识 |
特征节点1 | .D | 数据流1、数据流2 |
特征节点2 | .C.D | 数据流1 |
特征节点3 | .B.C.D | 数据流1 |
特征节点4 | A.B.C.D | 数据流1 |
特征节点5 | .E.D | 数据流2 |
再将识别内容A.E.D与表8所示的host识别的特征集合中每一个特征节点的特征进行匹配,不存在与识别内容匹配的特征,则在表8所示的host识别的特征集合中新增与识别内容A.E.D匹配的特征节点(包含特征:A.E.D),并将数据流2的标识添加至新增的节点中。更新后的host识别的特征集合如表9所示。
进一步的,当host识别的特征集合为树型结构时,新增的与识别内容A.E.D匹配的特征节点(包含特征:A.E.D),按照树形结构的分支挂载,即挂载在特征节点5的下一级。
表9
特征节点 | 特征 | 数据流的标识 |
特征节点1 | .D | 数据流1、数据流2 |
特征节点2 | .C.D | 数据流1 |
特征节点3 | .B.C.D | 数据流1 |
特征节点4 | A.B.C.D | 数据流1 |
特征节点5 | .E.D | 数据流2 |
特征节点6 | A.E.D | 数据流2 |
至此,完成了对数据流1所属的数据包中需要进行host识别所有数据流的host识别,则表9所示的host识别的特征集合为对数据流1所属的数据包进行host识别的最终的特征集合。
进一步的,表9所示的特征集合可以为树形结构,如图3所示。
进一步的,一个类型的特征识别模型对X个数据流中与该类型的特征识别模型对应的协议类型相同的数据流进行特征识别得到该类型的特征识别模型的特征集合。
上述示例仅示意了对数据流1所属的数据包中的数据流进行host识别获取一个特征集合的过程,对于数据流1所属的数据包中的数据流每进行一个类型的特征识别,均会获得一个类型的特征集合。
具体的,所述获取所述X个数据流的所有类型的特征集合,可以包括:
将所述X个数据流,采用预设数据库中所述数据流的协议类型对应的所有特征识别模型分别进行识别之后,用于识别所述X个数据流的每一个类型的特征识别模型的特征集合作为所述X个数据流的所有类型的特征集合。
S104、从X个数据流的所有类型的特征集合中选择Y个特征作为数据包的特征。
其中,Y个特征中每一个特征所属的特征节点中的数据流的标识相互不完全包含,Y大于或等于1。
Y的具体取值,可以根据实际需求设定,本发明对此不进行具体限定。
具体的,Y个特征中每一个特征所属的特征节点中的数据流的标识相互不完全包含,是指在Y个特征中,不存在任何一个特征所属的特征节点中的数据流的标识被Y个特征其他特征所属的特征节点中的数据流的标识完全包含,以避免冗余,避免影响识别性能。
示例性的,假设特征1所属的特征节点中的数据流的标识为:1、2、3、7、8;
特征2所属的特征节点中的数据流的标识为:1、2、3;
那么,特征1和特征2则相互冗余,存在相互完全包含,因此,特征1和特征2不能同时被选择到Y个特征中。
具体的,从X个数据流的所有类型的特征集合中选择Y个特征作为数据包的特征,可以包括通过下式方式中的任意一种实现:
方式1、从X个数据流的所有类型的特征集合中包括的多个特征中任意选择Y个特征作为数据包的特征。
方式2、按照X个数据流的所有类型的特征集合的预设优先级选择Y个特征作为数据包的特征。
其中,根据历史经验值或者实际需求,对每一个类型的特征识别模型的特征集合预设优先级,历史识别度高或者需求度高的特征识别模型的特征集合的预设优先级高,历史识别度低或者需求度低的特征识别模型的特征集合的预设优先级低。
具体的,按照X个数据流的所有类型的特征集合的预设优先级选择Y个特征作为数据包的特征,可以包括:
步骤1、在预设优先级最高的特征集合中选择至少一个特征;其中,选择的至少一个特征不相互完全包含。
需要说明的是,在预设优先级最高的特征集合中选择的特征的数量,小于所述Y,可以根据实际需求确定。
步骤2、判断选择的特征的数量是否等于Y。
若是,则结束选择,并将每一个选择的特征作为所述Y个特征。
若否,则执行步骤3。
步骤3、判断是否已经遍历X个数据流的所有类型的特征集合中的每一个特征集合。
若是,则结束选择,并将每一个选择的特征作为所述Y个特征。
若否,则执行步骤4。
步骤4、判断具有已经选择的特征的数据流的标识是否完全覆盖了所述X个数据流。
若是,则结束选择,并将每一个选择的特征作为所述Y个特征。
若否,则再次执行步骤5。
步骤5、在预设优先级次高的特征集合中选择至少一个特征;其中,选择的至少一个特征不相互完全包含。
需要说明的是,在预设优先级次高的特征集合中选择的特征的数量,可以根据实际需求确定,但需保证已选择的特征的总数不大于Y。
在步骤5之后,重新执行步骤2。
可选的,对于S104中选择Y个特征的执行,可以由装置执行,也可以由使用装置的管理员执行,具体可以根据实际需求确定,本发明对此不进行具体限定。
进一步的,从X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征,包括:
输出X个数据流的所有类型的特征集合;
接收管理员输入的从X个数据流的所有类型的特征集合中选择Y个特征作为数据包的特征。
需要说明的,在输出X个数据流的所有类型的特征集合使得管理员选择Y个特征的过程中,可以在操作界面提醒管理员选择的Y个特征所需要满足的要求,也就是选择规则。
进一步的,数据流还可以包括流量值。
进一步的,一个特征节点还可以包括具有该特征节点中的特征的数据流的总流量值;
进一步可选的,在S104之后,所述方法还可以包括:
将Y个特征所属的特征节点中包括的总流量值相加,除以X个数据流的总流量值,作为Y个特征对数据包的识别度。
示例性的,以S103中的示例为基础,假设数据流,且6个数据流1的流量值为10M,数据流2的流量值为20M;
那么,表9所示的特征集合可以进一步如表10所示:
表10
特征节点 | 特征 | 数据流的标识 | 总流量值 |
特征节点1 | A.B.C.D | 数据流1 | 10 |
特征节点2 | B.C.D | 数据流1 | 10 |
特征节点3 | C.D | 数据流1 | 10 |
特征节点4 | D | 数据流1、数据流2 | 10+20 |
特征节点5 | A.E.D | 数据流2 | 10 |
特征节点6 | E.D | 数据流2 | 10 |
若选择的Y个特征为特征节点4中的特征D,那么识别度为:30/(10+20)=100%。
进一步可选的,所述方法还可以包括:
将Y个特征对数据包的识别度输出以供管理员查看或者重新选择所述Y个特征。
进一步可选的,在S104之后,所述方法还可以包括:
将获取Y个特征中每一个特征的特征识别模型,及具有该特征的数据流的协议类型建立对应关系,更新至预设数据库中。
具体的,在更新预设数据库的过程中,若建立的对应关系,预设数据库中已经存在,则保持预设数据库不变。
若获取的Y个特征中的第一特征,大于或等于预设阈值个数据流都在第一位置出现第一特征,则在更新预设数据库时,将获取第一特征的特征识别模型更新为在第一位置进行特征识别;其中,第一特征为所述Y个特征中任意一个特征,所述第一位置为数据流中的任意一个位置。
本发明实施例提供的数据包特征提取方法,通过对数据包中的报文汇聚生成数据流,将每一个数据流根据所述数据流的协议类型按照协议类型在预设数据库中对应的每个特征识别模型分别进行识别,获取到数据包中所有数据流的所有类型的特征集合,最终从特征集合中选择特征用于识别数据包。汇聚之后再识别,使得识别过程简单,相同类型的报文进行一次识别即可,因此,识别效率高,达到了简单高效率的数据包的特征的提取,解决了现有技术中数据包特征提取时过程繁琐效率较低的缺陷。
实施例二
本发明实施例二提供另一种数据包特征提取方法,以特征集合为树形结构,并通过具体的示例对图1所示数据包特征提取方法进行详细描述。
参见图4,该方法可以包括:
S401、读取INPUT目录下的pcap文件获取数据包。
S402、解析数据包,将数据包中五元组相同的报文汇聚为一个数据流,得到6个数据流。
具体的,所述6个数据流如表11所示:
表11
S403、对6个数据流中的每一个数据流,采用预设数据库中所述数据流的协议类型对应的每个特征识别模型进行识别,获取6个数据流的所有类型的特征集合。
其中,预设数据库如表1所示。
从6个数据流的内容可知,数据流1~数据流5的协议类型为HTTP,因此,数据流1~数据流5分别需进行host识别及UA识别,最终得到两个特征集合,host特征识别模型的特征集合如图5所示,UA特征识别模型的特征集合如图6所示。
数据流6的协议类型为TCP,因此,数据流6需进行关键字识别,最终得到一个特征集合如图7所示。
对于采用特征识别模型获取特征集合的过程,已经在实施例一中进行了详细描述,此处不再进行详述。
S104、从6个数据流的所有类型的特征集合中选择2特征作为数据包的特征。
具体的,从host特征识别模型的特征集合中,选择特征为kuwo.cn,具有该特征的数据流的标识为:1、2、3、4。
再从UA特征识别模型的特征集合中,选择特征为KWPlayer/4721CFNetwork/672.0.8Darwin/14.0.0,则可识别流2345,可以补全对流5的识别。
S405、计算2个特征对数据包的识别度。
示例性的,以S404中的示例为基础,已经选择host后缀为kuwo.cn以及UA为KWPlayer/4721CFNetwork/672.0.8Darwin/14.0.0这两个特征,则可以计算出识别度为:(10+15+20+10+25)/(10+15+20+10+25+30)=72.7%。
S405、将计算的识别度输出。
S406、将获取2个特征中每一个特征的特征识别模型,及具有该特征的数据流的协议类型建立对应关系,更新至预设数据库中。
示例性的,以S404中的示例为基础,获取特征kuwo.cn的特征识别模型为host特征识别模型,具有该特征的数据流的协议类型为HTTP,该对应关系已经体现在预设数据库中,更新则为保持不变。
获取特征KWPlayer/4721CFNetwork/672.0.8Darwin/14.0.0的特征识别模型为host特征识别模型,具有该特征的数据流的协议类型为HTTP,该对应关系已经体现在预设数据库中,更新则为保持不变。
本发明实施例提供的数据包特征提取方法,通过对数据包中的报文汇聚生成数据流,将每一个数据流根据所述数据流的协议类型按照协议类型在预设数据库中对应的每个特征识别模型分别进行识别,获取到数据包中所有数据流的所有类型的特征集合,最终从特征集合中选择特征用于识别数据包。汇聚之后再识别,使得识别过程简单,相同类型的报文进行一次识别即可,因此,识别效率高,达到了简单高效率的数据包的特征的提取,解决了现有技术中数据包特征提取时过程繁琐效率较低的缺陷。
实施例三
本发明实施例三提供一种数据包特征提取装置80,参见图8,所述装置80包括:
获取单元801,用于获取包括至少一个报文的数据包;
解析汇聚单元802,用于解析所述数据包,将所述数据包中五元组相同的报文汇聚为一个数据流,得到X个数据流;其中,所述X大于或等于1;
识别单元803,用于对所述X个数据流中的每一个数据流,采用预设数据库中所述数据流的协议类型对应的每个类型的特征识别模型分别进行识别,获取所述X个数据流的所有类型的特征集合;其中,所述预设数据库包括每个协议类型对应的至少一个类型的特征识别模型;一个所述类型的特征集合对应一个类型的特征识别模型,且包括至少一个特征节点;一个所述特征节点包括一个特征;
选择单元804,用于从所述X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征;其中,所述Y大于或等于1。
进一步的,对于第一数据流,所述识别单元803采用所述预设数据库中所述第一数据流的协议类型对应的第一特征识别模型进行识别,包括:
将所述第一数据流的识别信息,与第一特征识别模型的特征集合中的特征节点对比;其中,所述第一数据流为所述X个数据流中任意一个数据流;所述第一特征识别模型为所述第一数据流的协议类型在所述预设数据库中对应的所有特征识别模型中的任意一个类型的特征识别模型;所述识别信息为应用层协议元数据或负载体;
若所述第一特征识别模型的特征集合中存在A个特征节点中的特征,与所述第一数据流的识别信息匹配,将所述第一数据流的标识分别添加至所述A个特征节点中;所述A大于或等于1;
若所述第一特征识别模型的特征集合中不存在与所述第一数据流的识别信息匹配的特征,在所述第一特征识别模型的特征集合中新增与所述第一数据流的识别信息匹配的特征节点,并将所述第一数据流的标识添加至所述与所述第一数据流的识别信息匹配的特征节点中。
进一步的,所述特征集合可以为树形结构。
具体的,所述识别单元803在所述第一特征识别模型的特征集合中新增包含所述第一数据流的识别信息的特征节点,可以包括:
在所述第一特征识别模型的特征集合中,将新增的与所述第一数据流的识别信息匹配的特征节点按照树形结构的分支挂载。
进一步的,一个类型的特征识别模型对所述X个数据流中与所述一个类型的特征识别模型对应的协议类型相同的数据流进行识别得到所述一个类型的特征识别模型的特征集合;
具体的,所述识别单元803获取所述X个数据流的所有类型的特征集合,包括:
将所述X个数据流,采用预设数据库中所述数据流的协议类型对应的所有特征识别模型分别进行识别之后,用于识别所述X个数据流的每一个类型的特征识别模型的特征集合作为所述X个数据流的所有类型的特征集合。
进一步的,一个所述特征节点还包括具有该特征节点中的特征的数据流的标识;
所述Y个特征中每一个特征所属的特征节点中的数据流的标识相互不完全包含。
进一步的,所述选择单元804具体可以用于:
输出所述X个数据流的所有类型的特征集合;
接收管理员输入的从所述X个数据流的所有类型的特征集合中选择的所述Y个特征作为所述数据包的特征。
进一步的,所述数据流还包括流量值;一个所述特征节点还包括具有该特征节点中的特征的数据流的总流量值。
参见图9,所述装置80还可以包括:
计算单元805,用于在所述从所述X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征之后,将所述Y个特征所属的特征节点中包括的总流量值相加,除以所述X个数据流的总流量值,作为所述Y个特征对所述数据包的识别度。
本发明实施例提供的数据包特征提取装置80,通过对数据包中的报文汇聚生成数据流,将每一个数据流根据所述数据流的协议类型按照协议类型在预设数据库中对应的每个特征识别模型分别进行识别,获取到数据包中所有数据流的所有类型的特征集合,最终从特征集合中选择特征用于识别数据包。汇聚之后再识别,使得识别过程简单,相同类型的报文进行一次识别即可,因此,识别效率高,达到了简单高效率的数据包的特征的提取,解决了现有技术中数据包特征提取时过程繁琐效率较低的缺陷。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种数据包特征提取方法,其特征在于,所述方法包括:
获取包括至少一个报文的数据包;
解析所述数据包,将所述数据包中五元组相同的报文汇聚为一个数据流,得到X个数据流;其中,所述X大于或等于1;
对所述X个数据流中的每一个数据流,采用预设数据库中所述数据流的协议类型对应的每个类型的特征识别模型分别进行识别,获取所述X个数据流的所有类型的特征集合;其中,所述预设数据库包括每个协议类型对应的至少一个类型的特征识别模型;一个所述类型的特征集合对应一个类型的特征识别模型,且包括至少一个特征节点;一个所述特征节点包括一个特征;所述特征集合为树形结构;
从所述X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征;其中,所述Y大于或等于1;
对于第一数据流,采用所述预设数据库中所述第一数据流的协议类型对应的第一特征识别模型进行识别,包括:
将所述第一数据流的识别信息,与第一特征识别模型的特征集合中的特征节点对比;其中,所述第一数据流为所述X个数据流中任意一个数据流;所述第一特征识别模型为所述第一数据流的协议类型在所述预设数据库中对应的所有特征识别模型中的任意一个类型的特征识别模型;所述识别信息为应用层协议元数据或负载体;
若所述第一特征识别模型的特征集合中存在A个特征节点中的特征,与所述第一数据流的识别信息匹配,将所述第一数据流的标识分别添加至所述A个特征节点中;所述A大于或等于1;
若所述第一特征识别模型的特征集合中不存在与所述第一数据流的识别信息匹配的特征,在所述第一特征识别模型的特征集合中新增与所述第一数据流的识别信息匹配的特征节点,并将所述第一数据流的标识添加至所述与所述第一数据流的识别信息匹配的特征节点中。
2.根据权利要求1所述的方法,其特征在于,
所述在所述第一特征识别模型的特征集合中新增与所述第一数据流的识别信息匹配的特征节点,包括:
在所述第一特征识别模型的特征集合中,将新增的与所述第一数据流的识别信息匹配的特征节点按照树形结构的分支挂载。
3.根据权利要求1所述的方法,其特征在于,一个类型的特征识别模型对所述X个数据流中与所述一个类型的特征识别模型对应的协议类型相同的数据流进行识别得到所述一个类型的特征识别模型的特征集合;
所述获取所述X个数据流的所有类型的特征集合,包括:
将所述X个数据流,采用预设数据库中所述数据流的协议类型对应的所有特征识别模型分别进行识别之后,用于识别所述X个数据流的每一个类型的特征识别模型的特征集合作为所述X个数据流的所有类型的特征集合。
4.根据权利要求1-3任一项所述的方法,其特征在于,一个所述特征节点还包括具有该特征节点中的特征的数据流的标识;
所述Y个特征中每一个特征所属的特征节点中的数据流的标识相互不完全包含。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述从所述X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征,包括:
输出所述X个数据流的所有类型的特征集合;
接收管理员输入的从所述X个数据流的所有类型的特征集合中选择的所述Y个特征作为所述数据包的特征。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述数据流还包括流量值;一个所述特征节点还包括具有该特征节点中的特征的数据流的总流量值;
在所述从所述X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征之后,所述方法还包括:
将所述Y个特征所属的特征节点中包括的总流量值相加,除以所述X个数据流的总流量值,作为所述Y个特征对所述数据包的识别度。
7.一种数据包特征提取装置,其特征在于,所述装置包括:
获取单元,用于获取包括至少一个报文的数据包;
解析汇聚单元,用于解析所述数据包,将所述数据包中五元组相同的报文汇聚为一个数据流,得到X个数据流;其中,所述X大于或等于1;
识别单元,用于对所述X个数据流中的每一个数据流,采用预设数据库中所述数据流的协议类型对应的每个类型的特征识别模型分别进行识别,获取所述X个数据流的所有类型的特征集合;其中,所述预设数据库包括每个协议类型对应的至少一个类型的特征识别模型;一个所述类型的特征集合对应一个类型的特征识别模型,且包括至少一个特征节点;一个所述特征节点包括一个特征;所述特征集合为树形结构;
选择单元,用于从所述X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征;其中,所述Y大于或等于1;
对于第一数据流,所述识别单元采用所述预设数据库中所述第一数据流的协议类型对应的第一特征识别模型进行识别,包括:
将所述第一数据流的识别信息,与第一特征识别模型的特征集合中的特征节点对比;其中,所述第一数据流为所述X个数据流中任意一个数据流;所述第一特征识别模型为所述第一数据流的协议类型在所述预设数据库中对应的所有特征识别模型中的任意一个类型的特征识别模型;所述识别信息为应用层协议元数据或负载体;
若所述第一特征识别模型的特征集合中存在A个特征节点中的特征,与所述第一数据流的识别信息匹配,将所述第一数据流的标识分别添加至所述A个特征节点中;所述A大于或等于1;
若所述第一特征识别模型的特征集合中不存在与所述第一数据流的识别信息匹配的特征,在所述第一特征识别模型的特征集合中新增与所述第一数据流的识别信息匹配的特征节点,并将所述第一数据流的标识添加至所述与所述第一数据流的识别信息匹配的特征节点中。
8.根据权利要求7所述的装置,其特征在于,所述识别单元在所述第一特征识别模型的特征集合中新增与所述第一数据流的识别信息匹配的特征节点,包括:
在所述第一特征识别模型的特征集合中,将新增的与所述第一数据流的识别信息匹配的特征节点按照树形结构的分支挂载。
9.根据权利要求7所述的装置,其特征在于,一个类型的特征识别模型对所述X个数据流中与所述一个类型的特征识别模型对应的协议类型相同的数据流进行识别得到所述一个类型的特征识别模型的特征集合;
所述识别单元获取所述X个数据流的所有类型的特征集合,包括:
将所述X个数据流,采用预设数据库中所述数据流的协议类型对应的所有特征识别模型分别进行识别之后,用于识别所述X个数据流的每一个类型的特征识别模型的特征集合作为所述X个数据流的所有类型的特征集合。
10.根据权利要求7-9任一项所述的装置,其特征在于,一个所述特征节点还包括具有该特征节点中的特征的数据流的标识;
所述Y个特征中每一个特征所属的特征节点中的数据流的标识相互不完全包含。
11.根据权利要求7-9任一项所述的装置,其特征在于,所述选择单元具体用于:
输出所述X个数据流的所有类型的特征集合;
接收管理员输入的从所述X个数据流的所有类型的特征集合中选择的所述Y个特征作为所述数据包的特征。
12.根据权利要求7-9任一项所述的装置,其特征在于,所述数据流还包括流量值;一个所述特征节点还包括具有该特征节点中的特征的数据流的总流量值;
所述装置还包括:
计算单元,用于在所述从所述X个数据流的所有类型的特征集合中选择Y个特征作为所述数据包的特征之后,将所述Y个特征所属的特征节点中包括的总流量值相加,除以所述X个数据流的总流量值,作为所述Y个特征对所述数据包的识别度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510129065.0A CN104796300B (zh) | 2015-03-23 | 2015-03-23 | 一种数据包特征提取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510129065.0A CN104796300B (zh) | 2015-03-23 | 2015-03-23 | 一种数据包特征提取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104796300A CN104796300A (zh) | 2015-07-22 |
CN104796300B true CN104796300B (zh) | 2018-03-30 |
Family
ID=53560828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510129065.0A Active CN104796300B (zh) | 2015-03-23 | 2015-03-23 | 一种数据包特征提取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104796300B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106385407B (zh) * | 2016-09-01 | 2019-07-02 | 北京神州绿盟信息安全科技股份有限公司 | 一种应用识别待分析数据包去噪声的方法和装置 |
CN107547438B (zh) * | 2017-08-02 | 2020-11-17 | 许继电气股份有限公司 | 一种基于动态特征字的goose/sv报文处理方法及其交换机 |
CN110505180A (zh) * | 2018-05-17 | 2019-11-26 | 中国科学院声学研究所 | 一种网络流量分类方法及系统 |
CN109639593B (zh) * | 2018-12-24 | 2022-08-12 | 南京中孚信息技术有限公司 | 一种深度报文分析系统的升级方法及装置 |
CN111435356B (zh) * | 2019-01-15 | 2024-08-09 | 杭州海康威视数字技术股份有限公司 | 数据特征提取方法、装置、计算机设备以及存储介质 |
CN111163184B (zh) * | 2019-12-25 | 2022-07-01 | 杭州迪普科技股份有限公司 | 一种报文特征的提取方法和装置 |
CN114298116A (zh) * | 2020-09-21 | 2022-04-08 | 华为技术有限公司 | 数据包的识别方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984269A (zh) * | 2012-12-10 | 2013-03-20 | 北京网御星云信息技术有限公司 | 一种点对点流量识别方法和装置 |
CN103475537A (zh) * | 2013-08-30 | 2013-12-25 | 华为技术有限公司 | 一种报文特征提取方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014117406A1 (zh) * | 2013-02-04 | 2014-08-07 | 华为技术有限公司 | 特征提取装置、网络流量识别方法、装置和系统 |
-
2015
- 2015-03-23 CN CN201510129065.0A patent/CN104796300B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984269A (zh) * | 2012-12-10 | 2013-03-20 | 北京网御星云信息技术有限公司 | 一种点对点流量识别方法和装置 |
CN103475537A (zh) * | 2013-08-30 | 2013-12-25 | 华为技术有限公司 | 一种报文特征提取方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104796300A (zh) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104796300B (zh) | 一种数据包特征提取方法及装置 | |
CN105808988B (zh) | 一种识别异常账户的方法及装置 | |
CN107766371A (zh) | 一种文本信息分类方法及其装置 | |
CN110336838B (zh) | 账号异常检测方法、装置、终端及存储介质 | |
CN108197668A (zh) | 模型数据集的建立方法及云系统 | |
WO2022247955A1 (zh) | 非正常账号识别方法、装置、设备和存储介质 | |
CN103336766A (zh) | 短文本垃圾识别以及建模方法和装置 | |
CN104615760A (zh) | 钓鱼网站识别方法和系统 | |
CN105574544A (zh) | 一种数据处理方法和装置 | |
CN107748739A (zh) | 一种短信文本模版的提取方法及相关装置 | |
CN107870988A (zh) | 一种信息核查方法、终端设备及存储介质 | |
CN105095369A (zh) | 网址匹配方法及装置 | |
CN112948429B (zh) | 一种数据报送方法、装置和设备 | |
CN105183916A (zh) | 一种管理非结构化数据的装置和方法 | |
CN107908796A (zh) | 电子政务查重方法、装置以及计算机可读存储介质 | |
CN107491536A (zh) | 一种试题校验方法、试题校验装置及电子设备 | |
CN106843941A (zh) | 信息处理方法、装置和计算机设备 | |
CN103942274B (zh) | 一种基于lda的生物医疗图像的标注系统及方法 | |
CN107070897A (zh) | 入侵检测系统中基于多属性哈希去重的网络日志存储方法 | |
CN109690571A (zh) | 基于学习的组标记系统和方法 | |
CN103605607B (zh) | 一种软件复杂度分析系统及方法 | |
CN109871770A (zh) | 房产证识别方法、装置、设备及存储介质 | |
CN107871055A (zh) | 一种数据分析方法和装置 | |
CN106844743B (zh) | 维吾尔语文本的情感分类方法及装置 | |
CN108133030A (zh) | 一种绘本问答的实现方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |