CN114186637A - 流量识别方法、装置、服务器和存储介质 - Google Patents
流量识别方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN114186637A CN114186637A CN202111516784.XA CN202111516784A CN114186637A CN 114186637 A CN114186637 A CN 114186637A CN 202111516784 A CN202111516784 A CN 202111516784A CN 114186637 A CN114186637 A CN 114186637A
- Authority
- CN
- China
- Prior art keywords
- network
- flow
- data
- time sequence
- spatial
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本申请提供一种流量识别方法、装置、服务器和存储介质,该方法通过获取待处理流量数据的多个网络流,每个网络流包含有相同五元组的数据包的集合,并针对每个网络流,对网络流中的数据包进行预处理,得到ASCII码格式的二维矩阵,之后将二维矩阵输入至预设的网络模型中,得到网络流的空间特征和时序特征,网络模型是根据多组流量数据验证得到的用于确定网络流的特征信息的模型,空间特征用于指示网络流中各个数据包的大小和字节特征,时序特征用于指示网络流中各个数据包之间的时序关系,最后根据空间特征和时序特征,确定网络流的流量类型。该技术方案中,从预设的网络模型出发,提高了流量识别的效率以及准确度。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种流量识别方法、装置、服务器和存储介质。
背景技术
流量识别是采用一定的方法从复杂流量中将不同的流量类型识别出来的过程,对于复杂的网络环境管理工作具有重要意义。
在现有技术中,常用的流量识别方法是基于滑动窗口的流分割方法,具体的:将数据包按照五元组组成流之后,人为选取一个k值作为滑动窗口的大小,并以此滑动窗口将流分割成多个大小为k的流,进而对多个流的数据进行特征提取,进而根据该特征得到流量的类型。
然而,在实际实现中,特征的提取工作需要技术人员手动完成,容易发生流量识别的效率较低且准确度不够的情况。
发明内容
本申请实施例提供一种流量识别方法、装置、服务器和存储介质,用以解决现有技术中流量识别的效率过低且准确度不够的问题。
第一方面,本申请实施例提供一种流量识别方法,包括:
获取待处理流量数据的多个网络流,每个网络流包含有相同五元组的数据包的集合;
针对每个网络流,对所述网络流中的数据包进行预处理,得到美国信息交换标准代码ASCII码格式的二维矩阵;
将所述二维矩阵输入至预设的网络模型中,得到所述网络流的空间特征和时序特征,所述网络模型是根据多组流量数据验证得到的用于确定网络流的特征信息的模型,所述空间特征用于指示所述网络流中各个数据包的大小和字节特征,所述时序特征用于指示所述网络流中各个数据包之间的时序关系;
根据所述空间特征和所述时序特征,确定所述网络流的流量类型。
在第一方面一种可能的设计中,所述网络模型包括:卷积神经网络和长短期记忆网络;
相应的,所述将所述二维矩阵输入至网络模型中,得到所述网络流的空间特征和时序特征,包括:.
将所述二维矩阵输入至所述卷积神经网络中,得到所述空间特征;
将所述空间特征输入至所述长短期记忆网络中,得到所述时序特征。
可选的,所述卷积神经网络采用了卷积层、池化层和非线性激活函数的组合方式。
在第一方面另一种可能的设计中,所述根据所述空间特征和所述时序特征,确定所述网络流的流量类型,包括:
对所述空间特征进行一维展开,得到一维的流向量;
将所述流向量和所述时序特征输入至流量分类器中,得到所述网络流的流量类型。
在第一方面再一种可能的设计中,所述对所述网络流中的数据包进行预处理,得到ASCII码格式的二维矩阵,包括:
对所述网络流中的数据包进行ASCII码格式转换,得到ASCII编码;
将所述ASCII编码按照预设长度进行分割,得到多个一维向量,其中,对所述多个一维向量中不足所述预设长度的一维向量进行补0;
对所述多个一维向量进行二维转换,得到所述二维矩阵。
在第一方面还一种可能的设计中,所述获取待处理流量数据的多个网络流,包括:
获取所述待处理流量数据;
按照预设时间间隔对所述待处理流量数据依次进行分隔,生成所述多个网络流,所述预设时间间隔是根据多组流量数据测试和验证得到的。
第二方面,本申请实施例提供一种流量识别装置,包括:
获取模块,用于获取待处理流量数据的多个网络流,每个网络流包含有相同五元组的数据包的集合;
处理模块,用于针对每个网络流,对所述网络流中的数据包进行预处理,得到ASCII码格式的二维矩阵;
确定模块,用于将所述二维矩阵输入至预设的网络模型中,得到所述网络流的空间特征和时序特征,所述网络模型是根据多组流量数据验证得到的用于确定网络流的特征信息的模型,所述空间特征用于指示所述网络流中各个数据包的大小和子节特征,所述时序特征用于指示所述网络流中各个数据包之间的时序关系,并根据所述空间特征和所述时序特征,确定所述网络流的流量类型。
在第二方面一种可能的设计中,所述网络模型包括:卷积神经网络和长短期记忆网络;
相应的,所述确定模块,将所述二维矩阵输入至网络模型中,得到所述网络流的空间特征和时序特征,具体用于:.
将所述二维矩阵输入至所述卷积神经网络中,得到所述空间特征;
将所述空间特征输入至所述长短期记忆网络中,得到所述时序特征。
可选的,所述卷积神经网络采用了卷积层、池化层和非线性激活函数的组合方式。
在第二方面另一种可能的设计中,所述确定模块,根据所述空间特征和所述时序特征,确定所述网络流的流量类型,具体用于:
对所述空间特征进行一维展开,得到一维的流向量;
将所述流向量和所述时序特征输入至流量分类器中,得到所述网络流的流量类型。
在第二方面再一种可能的设计中,所述处理模块,具体用于:
对所述网络流中的数据包进行ASCII码格式转换,得到ASCII编码;
将所述ASCII编码按照预设长度进行分割,得到多个一维向量,其中,对所述多个一维向量中不足所述预设长度的一维向量进行补0;
对所述多个一维向量进行二维转换,得到所述二维矩阵。
在第二方面还一种可能的设计中,所述获取模块,具体用于:
获取所述待处理流量数据;
按照预设时间间隔对所述待处理流量数据依次进行分隔,生成所述多个网络流,所述预设时间间隔是根据多组流量数据测试和验证得到的。
第三方面,本申请实施例提供一种服务器,包括:处理器、存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述计算机执行指令,使得所述计算机设备执行如上述第一方面及各种可能的设计中所述的流量识别方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面及各种可能的设计中所述的流量识别方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现如上述第一方面及各种可能的设计中所述的流量识别方法。
本申请实施例提供的流量识别方法、装置、服务器和存储介质,该方法通过获取待处理流量数据的多个网络流,每个网络流包含有相同五元组的数据包的集合,并针对每个网络流,对网络流中的数据包进行预处理,得到ASCII码格式的二维矩阵,之后将二维矩阵输入至预设的网络模型中,得到网络流的空间特征和时序特征,网络模型是根据多组流量数据验证得到的用于确定网络流的特征信息的模型,空间特征用于指示网络流中各个数据包的大小和字节特征,时序特征用于指示网络流中各个数据包之间的时序关系,最后根据空间特征和时序特征,确定网络流的流量类型。该技术方案中,从预设的网络模型出发,提高了流量识别的效率以及准确度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例提供的流量识别方法的系统架构图;
图2为本申请实施例提供的流量识别方法实施例一的流程示意图;
图3为本申请实施例提供的特征提取器示意图;
图4为本申请实施例提供的流量识别方法实施例二的流程示意图;
图5为本申请实施例提供的流量识别方法实施例三的流程示意图;
图6为本申请实施例提供的流量识别装置的结构示意图;
图7为本申请实施例提供的服务器的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本申请的实施例之前,首先对本申请的专业名词和背景技术进行解释说明:
burst:一个burst是数据包的集合,两个burst可以是通过一个时间间隔的阈值分隔开的。
流(flow):一个burst内具有相同五元组的数据包的集合,与传输控制协议(Transmission Control Protocol,TCP)连接所不同,它的起始和结尾都在一个burst内,本专利以流为单位对流量进行识别。
五元组:是数据通信中数据流量的五个元素,由源网络之间互连的协议(InternetProtocol,IP)地址、源端口、协议类型、目的IP地址、目的端口组成,IP五元组能区分不同的网络会话,并且对应的会话是唯一的。
卷积神经网络(Convolutional Neural Networks,CNN):是一类包含卷积计算且具有深度结构的前馈神经网络。
长短期记忆网络(Long Short-Term Memory,LSTM):是一种时间循环神经网络,适合于处理和预测时间序列中间隔和延迟非常长的重要事件。
空间特征:单个数据包所包含的特征,如数据包的大小、字节数等。
时序特征:flow中所有数据包之间的时序关系,如前后数据包的时间间隔、流的速率等。
特征工程:指的是把原始数据转变为模型的训练数据的过程,一般认为其包括特征构建、特征提取、特征选择三个部分,其目的是最大限度地从原始数据中提取特征以供算法和模型使用。
池化层:通过在对应的位置取最大值/平均值等操作,压缩数据和参数的量,减少过拟合,其具有特征不变和特征降维的作用。
流量识别是采用一定的方法从复杂网络流量中将不同的流量类型识别出来的过程,对于复杂的网络环境管理工作具有重要的意义,目前业界进行流量识别的方法基于传统机器学习或深度学习算法,他们具有分割流的方式不一且需手动提取特征的弊端,无法适应当前复杂多变的网络环境,适用场景有限。
当前进行网络流量识别的方法主要集中在以下几种:
第一、基于滑动窗口的流分割方法,将数据包按照五元组组成流之后,人工选取一个k值作为滑动窗口的大小,并以此滑动窗口将流分割成多个大小为k的短流。
第二、基于传统机器学习的流量识别方法,对原始的流量数据进行手动特征提取,构建数据集进行检测识别。
然而,上述的两种方式存在以下缺点:
第一、基于滑动窗口的流分割方法只是简单的选取k个数据包组成,缺少灵活性,无法很好的体现不同应用流量的特性。
第二、基于传统机器学习方法面临着设计合适特征的挑战,特征工程对分类和识别的准确性具有决定性的作用,甚至超过了算法层面的重要性。随着互联网的发展,网络流量种类急剧增多,同一种流量可能表现出不同的特征,人工提取特征的方式并不能满足当前复杂多变的网络环境。
在上述现有技术存在的问题基础上,图1为本申请实施例提供的流量识别方法的系统架构图,用以解决上述技术问题。如图1所示,该系统架构图包括:第一单元11和第二单元12。
其中,第一单元11包括:流量分割器111、数据预处理器112、特征提取器113和分类检测器114;第二单元12包括:流量分割器121、数据预处理器122、特征提取器123和分类检测器124。
可选的,第一单元11用于对第二单元12中特征提取器123和分类检测器124中的网络模型进行参数修订;第二单元12用于对待处理流量数据进行流量分类。
在一种可能的实现中,由可标记的测试数据流量经过流量分割器111、数据预处理器112、特征提取器113和分类检测器114,最终生成一个burst阈值和最优训练模型,具体的,生成流量分割器121中burst阈值(预设时间间隔)、以及特征提取器123和分类检测器124中的网络模型的参数;
进一步地,第二单元12根据第一单元11生成的burst阈值、网络模型的参数,修订流量分割器121、特征提取器123和分类检测器124中的参数。
之后,流量分割器121将待处理流量数据进行分割,得到多个网络流,数据预处理器122对网络流进行美国信息交换标准代码(American Standard Code for InformationInterchange,ASCII)码格式的转换,之后将转换结果,即二维矩阵输入至特征提取器123,得到网络流的特征信息,最后将网络流的特征信息输入至分类检测器124,以得到网络流的类型。
应理解,本申请实施例的执行主体可以是服务器、或者计算机、也可以是终端设备,上述未披露的内容见下述实施例。
本申请针对上述技术问题,发明人的技术构思过程如下:现有技术中的特征提取、以及burst阈值的设置主要依赖于人工,如果在对待处理流量数据进行处理之前,可以利用可标记的测试数据流量对预设的网络模型中的参数进行调整、以及对burst阈值进行预先评估,之后再利用修正后的网络模型对待处理流量数据进行分类,便可以得到更加准确的分类结果,且提高了分类效率。
下面以图1所示的系统架构图,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的流量识别方法实施例一的流程示意图。如图2所示,该流量识别方法包括如下步骤:
步骤21、获取待处理流量数据的多个网络流。
其中,每个网络流包含有相同五元组的数据包的集合。
在本步骤中,待处理流量数据可以是一段时间之内的连续的多个数据包,根据预设时间间隔(burst阈值)分隔开,形成的多个burst,其中,两两相邻的burst是通过一个预设时间间隔分隔开的,对于每个burst,内具有相同五元组的多个数据包。
其中,由源IP地址、源端口、协议类型、目的IP地址、目的端口组成,IP五元组能区分不同的网络会话,并且对应的会话是唯一的。
在一种可能的实现中,该步骤的实现可以是如下所示:
第1步、获取待处理流量数据。
可选的,可以将一段时间内原始流量的抓包文件,即多个数据包作为待处理流量数据。
第2步、按照预设时间间隔对待处理流量数据依次进行分隔,生成多个网络流。
其中,预设时间间隔是根据多组流量数据测试和验证得到的。
在一种可能的实现中,该预设时间间隔(burst阈值)可以通过图1中的第一单元11得到,具体为:
获取可标记的测试数据流量,根据一定比例(例如,7:3)将测试数据流量划分为训练集和测试集,基于先验实践经验,设计首先将训练集中的数据在流量分割器121中按照随机设定的burst阈值进行分割,得到网络流,将网络流输入至特征提取器113(第一层的卷积神经网络(采用了卷积层+池化层(最大池化)+非线性激活函数的典型组合),其中最大池化方法可以用来缩减模型大小,提高计算速度和提取特征的鲁棒性;第二层则为一个全连接层,用于将提取到的空间特征进行一维展开;第三层则为BiLSTM,其为长短期记忆网络的双向版本,可以从前向后和从后向前双向地对流进行扫描,更全面的提取其中的时序特征)得到时序特征和空间特征。之后根据时序特征和空间特征,输入至分类检测器114中,得到分类结果。
此外,特征提取器113需要对相关参数进行训练,最终得到适合不同网络流量的burst阈值和一个最优训练模型。
即,根据测试集中的数据,针对不同的网络架构,主要调整的参数是批训练大小和学习率,即深度学习最重要的参数,选取最优的批训练大小和学习率是训练处好的模型的关键要素,即得到能够利用于待处理流量数据的预设时间间隔、以及后续网络模型和流量分类器中的参数。
该步骤中,对多个网络流的获取过程可以通过图1中的流量分割器121实现。
步骤22、针对每个网络流,对网络流中的数据包进行预处理,得到ASCII码格式的二维矩阵。
在本步骤中,需要对分割好的网络流进行处理,将其转换成可以输入网络模型中进行训练学习的格式。
可选的,首先对网络流中的数据包进行ASCII码格式转换,得到ASCII编码,再将ASCII编码按照预设长度进行分割,得到多个一维向量,其中,对多个一维向量中不足预设长度的一维向量进行补0,之后对多个一维向量进行二维转换,得到二维矩阵。
在一种可能的实现中,对网络流中各个数据包的字节做转码,转换成ASCII码格式,这样每个字节可以以0-255的整数来表示,之后对数据包的长度进行处理,选取一个固定长度(预设长度),截取超过此长度的部分,对不足此长度的进行补0操作,得到一个一维向量,再将其转换成二维矩阵,也即该二维矩阵为网络模型中进行训练学习的格式。
例如,固定长度为50,则某个一维向量在一次截取时只有47位(如,36、52、128、58、8、……9),则对该一维向量进行补0,得到50位()如,36、52、128、58、8、……9、0、0、0)。
例如,固定长度为50,则某个一维向量在一次截取时有50位(如,128、58、8、36、52、……56、100),则不需要进行补0。
该步骤中,对网络流中的数据包进行预处理的过程可以通过图1中的数据预处理器122实现。
步骤23、将二维矩阵输入至预设的网络模型中,得到网络流的空间特征和时序特征。
其中,网络模型是根据多组流量数据验证得到的用于确定网络流的特征信息的模型,空间特征用于指示网络流中各个数据包的大小和字节特征,时序特征用于指示网络流中各个数据包之间的时序关系。
在本步骤中,将上一步得到的二维矩阵输入到卷积神经网络中,提取数据包中的空间特征,再将提取到的特征按照网络流的顺序输入到长短期记忆网络中,提取其中的时序特征,便得到了空间特征和时序特征。
可选的,网络模型可以包括:卷积神经网络和长短期记忆网络,也即该步骤的实现可以是如下所示:
结合图3,对本过程进行详细阐述,即图3为本申请实施例提供的特征提取器示意图。如图3所示,该特征提取器123包括:卷积神经网络1231和长短期记忆网络1232,具体的:
第1步、将二维矩阵输入至卷积神经网络中,得到空间特征。
其中,卷积神经网络采用了卷积层、池化层和非线性激活函数的组合方式。
第2步、将空间特征输入至长短期记忆网络中,得到时序特征。
作为一种示例,特征提取器123中的模型设计,可以最大程度的兼顾识别准确度和速度。首先第一层为卷积神经网络,采用了卷积层+池化层(最大池化)+非线性激活函数的典型组合,其中最大池化方法可以用来缩减模型大小,提高计算速度和提取特征的鲁棒性,以得到空间特征;第二层则为一个全连接层,用于将提取到的空间特征进行一维展开;第三层则为BiLSTM,其为长短期记忆网络的双向版本,可以从前向后和从后向前双向地对网络流进行扫描,更全面的提取其中的时序特征。
此外,第二层对空间特征进行一维展开的操作也可以在步骤24中实现,以得到能够输入流量分类器的一维的流向量。
可选的,网络模型中的参数的生成可以通过步骤21中的示例得到,此处不再赘述。
该步骤中,对空间特征和时序特征的获取过程可以通过图1中的特征提取器123实现。
步骤24、根据空间特征和时序特征,确定网络流的流量类型。
在本步骤中,将上述步骤提取到的空间特征和时序特征,输入至特征提取器的相关网络模型中,从而输出该网络流相应的流量类型。
可选的,该步骤的实现可以是如下所示:
第1步、对空间特征进行一维展开,得到一维的流向量。
其中,该步骤的实现也可以是在特征提取器123中进行,即在得到空间特征时,直接将该空间特征进行一维展开,以得到一维的流向量。
第2步、将流向量和时序特征输入至流量分类器中,得到网络流的流量类型。
此时,将空间特征对应的一维的流向量和时序特征输入至流量分类器中,输出网络流的流量类型。
进一步地,针对不同的网络流,其对应的流量类型可能相同或者不同,即可以预设一个流量分类表,以显示不同的流量类型对应的网络流。
例如,在一次分类时,在流量分类表中,可以有流量类型A、流量类型B和流量类型C,而5个网络流(流1、流2、流3、流4和流5)的分类结果为:流1和流2属于流量类型A;流3、流4和流5属于流量类型C;流量类型B暂时未有对应的网络流。
可选的,流量分类器中的参数的生成也可以通过步骤21中的示例得到,此处不再赘述。
该步骤中,对网络流的流量类型地识别过程可以通过图1中的分类检测器124实现。
本申请实施例提供的流量识别方法,通过获取待处理流量数据的多个网络流,每个网络流包含有相同五元组的数据包的集合,并针对每个网络流,对网络流中的数据包进行预处理,得到ASCII码格式的二维矩阵,之后将二维矩阵输入至预设的网络模型中,得到网络流的空间特征和时序特征,网络模型是根据多组流量数据验证得到的用于确定网络流的特征信息的模型,空间特征用于指示网络流中各个数据包的大小和字节特征,时序特征用于指示网络流中各个数据包之间的时序关系,最后根据空间特征和时序特征,确定网络流的流量类型。该方法中,从预设的网络模型出发,提高了流量识别的效率以及准确度。
在上述实施例的基础上,图4为本申请实施例提供的流量识别方法实施例二的流程示意图。如图4所示,步骤21可以通过如下方式实现:
第1步、获取待处理流量数据;
第2步、按照预设时间间隔对待处理流量数据进行分割,得到不同的数据包集合;
第3步、按照相同的五元组对不同的数据包集合进行分割,得到多个网络流。
本申请实施例提供的流量识别方法,通过获取待处理流量数据,并按照预设时间间隔对待处理流量数据进行分割,得到不同的数据包集合,之后按照相同的五元组对不同的数据包集合进行分割,得到多个网络流。该方法中,从预设时间间隔(burst阈值)出发,为后续流量更加准确的分类提供了实现基础。
在上述实施例的基础上,图5为本申请实施例提供的流量识别方法实施例三的流程示意图。如图5所示,步骤22可以通过如下方式实现:
第1步、获取网络流中的数据包;
第2步、对数据包进行ASCII码格式转换,得到ASCII编码;
第3步、对ASCII编码进行预设长度的切割,得到多个一维向量;
其中,对一维向量中不足预设长度的一维向量进行补0;
第4步、对多个一维向量进行二维转换,得到二维矩阵。
本申请实施例提供的流量识别方法,通过获取网络流中的数据包,并对数据包进行ASCII码格式转换,得到ASCII编码,之后对ASCII编码进行预设长度的切割,得到多个一维向量,最后对多个一维向量进行二维转换,得到二维矩阵,该方法中,对数据包进行ASCII编码,以转换为二维矩阵,为待处理流量数据的特征提取提供了输入,为后续流量更加准确的分类提供了基础。
在上述方法实施例的基础上,图6为本申请实施例提供的流量识别装置的结构示意图。如图6所示,该装置包括:获取模块61、处理模块62和确定模块63。
获取模块61,用于获取待处理流量数据的多个网络流,每个网络流包含有相同五元组的数据包的集合;
处理模块62,用于针对每个网络流,对网络流中的数据包进行预处理,得到ASCII码格式的二维矩阵;
确定模块63,用于将二维矩阵输入至预设的网络模型中,得到网络流的空间特征和时序特征,网络模型是根据多组流量数据验证得到的用于确定网络流的特征信息的模型,空间特征用于指示网络流中各个数据包的大小和子节特征,时序特征用于指示网络流中各个数据包之间的时序关系,并根据空间特征和时序特征,确定网络流的流量类型。
在本申请实施例一种可能的设计中,网络模型包括:卷积神经网络和长短期记忆网络;
相应的,确定模块63,将二维矩阵输入至网络模型中,得到网络流的空间特征和时序特征,具体用于:.
将二维矩阵输入至卷积神经网络中,得到空间特征;
将空间特征输入至长短期记忆网络中,得到时序特征。
可选的,卷积神经网络采用了卷积层、池化层和非线性激活函数的组合方式。
在本申请实施例另一种可能的设计中,确定模块63,根据空间特征和时序特征,确定网络流的流量类型,具体用于:
对空间特征进行一维展开,得到一维的流向量;
将流向量和时序特征输入至流量分类器中,得到网络流的流量类型。
在本申请实施例再一种可能的设计中,处理模块62,具体用于:
对网络流中的数据包进行ASCII码格式转换,得到ASCII编码;
将ASCII编码按照预设长度进行分割,得到多个一维向量,其中,对多个一维向量中不足预设长度的一维向量进行补0;
对多个一维向量进行二维转换,得到二维矩阵。
在本申请实施例还一种可能的设计中,获取模块61,具体用于:
获取待处理流量数据;
按照预设时间间隔对待处理流量数据依次进行分隔,生成多个网络流,预设时间间隔是根据多组流量数据测试和验证得到的。
本申请实施例提供的流量识别装置,可用于执行上述实施例中流量识别方法对应的技术方案,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图7为本申请实施例提供的服务器的结构示意图。如图7所示,该服务器可以包括:处理器70、存储器71及存储在该存储器71上并可在处理器70上运行的计算机程序指令。
其中,处理器70执行存储器71存储的计算机执行指令,使得处理器70执行上述实施例中的方案。处理器70可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选的,该服务器还可以包括:收发器72。
存储器71和收发器72通过系统总线与处理器70连接并完成相互间的通信,存储器71用于存储计算机程序指令。
收发器72用于和其他设备进行通信,该收发器72构成通信接口。
可选的,在硬件实现上,上述图6所示实施例中的获取模块61对应于本实施例中的收发器72。
在一种可能的实现中,该服务器还可以包括:显示器,该显示器用于显示服务器的显示界面,具体为实施例中的示例:流量的分类结果。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供的服务器,可用于执行上述实施例中流量识别方法对应的技术方案,其实现原理和技术效果类似,在此不再赘述。
本申请实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中流量识别方法的技术方案。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机设备上运行时,使得计算机设备执行上述实施例中流量识别方法的技术方案。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于执行上述实施例中流量识别方法的技术方案。
上述的计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机设备能够存取的任何可用介质。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种流量识别方法,其特征在于,包括:
获取待处理流量数据的多个网络流,每个网络流包含有相同五元组的数据包的集合;
针对每个网络流,对所述网络流中的数据包进行预处理,得到美国信息交换标准代码ASCII码格式的二维矩阵;
将所述二维矩阵输入至预设的网络模型中,得到所述网络流的空间特征和时序特征,所述网络模型是根据多组流量数据验证得到的用于确定网络流的特征信息的模型,所述空间特征用于指示所述网络流中各个数据包的大小和字节特征,所述时序特征用于指示所述网络流中各个数据包之间的时序关系;
根据所述空间特征和所述时序特征,确定所述网络流的流量类型。
2.根据权利要求1所述的方法,其特征在于,所述网络模型包括:卷积神经网络和长短期记忆网络;
相应的,所述将所述二维矩阵输入至网络模型中,得到所述网络流的空间特征和时序特征,包括:.
将所述二维矩阵输入至所述卷积神经网络中,得到所述空间特征;
将所述空间特征输入至所述长短期记忆网络中,得到所述时序特征。
3.根据权利要求2所述的方法,其特征在于,所述卷积神经网络采用了卷积层、池化层和非线性激活函数的组合方式。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述空间特征和所述时序特征,确定所述网络流的流量类型,包括:
对所述空间特征进行一维展开,得到一维的流向量;
将所述流向量和所述时序特征输入至流量分类器中,得到所述网络流的流量类型。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述对所述网络流中的数据包进行预处理,得到ASCII码格式的二维矩阵,包括:
对所述网络流中的数据包进行ASCII码格式转换,得到ASCII编码;
将所述ASCII编码按照预设长度进行分割,得到多个一维向量,其中,对所述多个一维向量中不足所述预设长度的一维向量进行补0;
对所述多个一维向量进行二维转换,得到所述二维矩阵。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述获取待处理流量数据的多个网络流,包括:
获取所述待处理流量数据;
按照预设时间间隔对所述待处理流量数据依次进行分隔,生成所述多个网络流,所述预设时间间隔是根据多组流量数据测试和验证得到的。
7.一种流量识别装置,其特征在于,包括:
获取模块,用于获取待处理流量数据的多个网络流,每个网络流包含有相同五元组的数据包的集合;
处理模块,用于针对每个网络流,对所述网络流中的数据包进行预处理,得到美国信息交换标准代码ASCII码格式的二维矩阵;
确定模块,用于将所述二维矩阵输入至预设的网络模型中,得到所述网络流的空间特征和时序特征,所述网络模型是根据多组流量数据验证得到的用于确定网络流的特征信息的模型,所述空间特征用于指示所述网络流中各个数据包的大小和子节特征,所述时序特征用于指示所述网络流中各个数据包之间的时序关系,并根据所述空间特征和所述时序特征,确定所述网络流的流量类型。
8.一种服务器,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时实现如上述权利要求1至6任一项所述的流量识别方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述权利要求1至6任一项所述的流量识别方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现如上述权利要求1至6任一项所述的流量识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111516784.XA CN114186637A (zh) | 2021-12-13 | 2021-12-13 | 流量识别方法、装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111516784.XA CN114186637A (zh) | 2021-12-13 | 2021-12-13 | 流量识别方法、装置、服务器和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114186637A true CN114186637A (zh) | 2022-03-15 |
Family
ID=80604651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111516784.XA Pending CN114186637A (zh) | 2021-12-13 | 2021-12-13 | 流量识别方法、装置、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114186637A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114679606A (zh) * | 2022-04-02 | 2022-06-28 | 哈尔滨工业大学 | 一种基于Burst特征的视频流量识别方法、系统、电子设备及存储介质 |
-
2021
- 2021-12-13 CN CN202111516784.XA patent/CN114186637A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114679606A (zh) * | 2022-04-02 | 2022-06-28 | 哈尔滨工业大学 | 一种基于Burst特征的视频流量识别方法、系统、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106357618B (zh) | 一种Web异常检测方法和装置 | |
CN110572362B (zh) | 针对多类不均衡异常流量的网络攻击检测方法及装置 | |
CN106649831B (zh) | 一种数据过滤方法及装置 | |
CN102420723A (zh) | 一种面向多类入侵的异常检测方法 | |
CN111798312A (zh) | 一种基于孤立森林算法的金融交易系统异常识别方法 | |
CN109325118B (zh) | 不平衡样本数据预处理方法、装置和计算机设备 | |
CN111191767A (zh) | 一种基于向量化的恶意流量攻击类型的判断方法 | |
CN106850338B (zh) | 一种基于语义分析的r+1类应用层协议识别方法与装置 | |
CN112381071A (zh) | 一种视频流中目标的行为分析方法、终端设备及介质 | |
CN111800430A (zh) | 一种攻击团伙识别方法、装置、设备及介质 | |
CN114520736B (zh) | 一种物联网安全检测方法、装置、设备及存储介质 | |
CN111209998B (zh) | 基于数据类型的机器学习模型的训练方法及装置 | |
CN114186637A (zh) | 流量识别方法、装置、服务器和存储介质 | |
CN113536770B (zh) | 基于人工智能的文本解析方法、装置、设备及存储介质 | |
CN111783812A (zh) | 违禁图像识别方法、装置和计算机可读存储介质 | |
CN114785567A (zh) | 一种流量识别方法、装置、设备及介质 | |
KR101705584B1 (ko) | 얼굴 정렬을 위한 특징점별 특징을 추출하기 위한 서술자 생성 시스템 및 이를 이용한 특징점별 서술자 생성 방법 | |
CN111967529B (zh) | 识别方法、装置、设备及系统 | |
CN112861894A (zh) | 一种数据流分类方法、装置及系统 | |
CN115713669A (zh) | 一种基于类间关系的图像分类方法、装置、存储介质及终端 | |
CN113806204B (zh) | 一种报文字段相关性的评估方法、装置、系统及存储介质 | |
CN114896579A (zh) | 一种用户识别方法、装置、存储介质及终端设备 | |
CN110225025B (zh) | 异常网络数据行为模型的获取方法、装置、电子设备及存储介质 | |
CN111917600A (zh) | 一种基于Spark性能优化的网络流量分类装置及分类方法 | |
CN116501176B (zh) | 基于人工智能的用户动作识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |