本申请涉及信息安全技术领域,特别是涉及一种流量分类方法、装置、计算机设备和存储介质。
背景技术:
随着互联网的高速发展,为了保护企业网络通信的安全,网络通信已经大量使用安全套接字协议(ssl)等加密技术对网络流量进行加密,与此同时,也使得对网络恶意流量的识别难度加深。
基于此,传统技术中,存在一种基于卷积神经网络(cnn)的加密流量检测方法,这种方法将加密流量按照五元组重组成会话,并直接将会话中所有数据包中的字节映射到一个像素点,从而将会话转换为图片并使用深度卷积神经网络来训练分类模型,实现对加密恶意流量的识别。
然而这种把一个网络会话中所有字节看成连续的字节流的基于卷积神经网络的方法无法精确的提取加密流量的特征,导致不能达到最好的检测效果。
技术实现要素:
基于此,有必要针对上述技术问题,提供一种能够提高网络流量识别精确度的流量分类方法、装置、计算机设备和存储介质。
一种流量分类方法,所述方法包括:
获取网络数据包,基于所述网络数据包的五元组重组会话流量;
提取所述会话流量的会话特征,所述会话特征包括:所述会话流量中的网络数据包的时序特征、所述会话流量中的网络数据包的字节分布特征、以及所述会话流量的指定协议字段的协议特征中的至少两种;
基于提取的所述时序特征、所述字节分布特征以及所述协议特征,对所述双向网络流量进行分类。
在其中一个实施例中,基于所述网络数据包的五元组重组会话流量之后,提取所述会话流量的会话特征之前,包括:
去除所述会话流量中的重复的网络数据包和/或空应用载荷的网络数据包。
在其中一个实施例中,提取所述会话流量中的网络数据包的时序特征之前,还包括:
将所述会话流量中的网络数据包的五元组中的源ip地址以及目的ip地址替换为相同的字符;
按照设定的字节长度对替换字符后的网络数据包进行截断或补全;
对所述会话流量中的网络数据包的每个字节进行独热编码。
在其中一个实施例中,提取所述会话流量中的网络数据包的字节分布特征之前,包括:
将所述会话流量按照设定的字节长度进行截断或补全。
在其中一个实施例中,提取所述会话流量中的网络数据包的字节分布特征,包括:
对所述会话流量中的每个字节进行独热编码,使用自编码网络对所述独热编码的编码结果进行特征提取,获得所述自编码网络输出的字节分布特征。
在其中一个实施例中,提取所述会话流量中的网络数据包的时序特征,包括:
使用卷积神经网络的全卷积层对每个独热编码后的网络数据包进行特征提取,获得所述卷积神经网络的全卷积层输出的序列特征;
使用长短记忆模型从所述序列特征中提取时序特征。
在其中一个实施例中,包括:
提取所述会话流量中基于ssl协议的指定协议字段的特征。
一种流量分类装置,所述装置包括:
会话重组模块,用于基于所述网络数据包的五元组重组会话流量;
特征提取模块,用于提取所述会话流量的会话特征,所述会话特征包括:所述会话流量中的网络数据包的时序特征、所述会话流量中的网络数据包的字节分布特征、以及所述会话流量的指定协议字段的协议特征中的至少两种;
分类模块,用于基于提取的所述时序特征、所述字节分布特征以及所述协议特征,对所述流量进行分类。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行实现上述方法的步骤。
上述流量分类方法、装置、计算机设备和存储介质,在对流量进行分类之前,需要先获取网络数据包,基于获取的网络数据包的五元组重组会话流量,使用卷积神经网络结合长短期记忆神经网络,提取会话流量中的网络数据包的时序特征,使用深度自编码网络提取会话流量中的网络数据包的字节分布特征,以及会话流量的指定协议字段的协议特征,之后将上述提取到的特征输入至分类模型,通过训练分类模型完成流量的分类,通过上述方法使得对流量会话特征的捕获更加完备,具有更好的抗干扰性,避免了传统技术中特征单一、特征缺失的问题,从而可以获得更加准确的识别效果。
附图说明
图1为一个实施例中流量分类方法的环境示意图;
图2为一个实施例中流量分类方法的流程示意图;
图3为一个实施例中流量分类方法的流程示意图;
图4为另一个实施例中流量分类装置的结构框图;
图5为一个实施例中流量分类装置的结构框图;
图6为一个实施例中流量分类装置的结构框图;
图7为一个实施例中计算机设备的内部结构图;
图8为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的流量分类方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102获取与服务器104通信时产生的网络数据包,之后终端102基于获取的网络数据包的五元组重组会话流量,分别提取会话流量中的网络数据包的时序特征、会话流量中的网络数据包的字节分布特征、以及会话流量的指定协议字段的协议特征中的至少两种,最后将提取的上述特征经由分类模型完成流量的分类。可选的,还可以是服务器104获取通信中产生的网络数据包,服务器104基于网络数据包的五元组重组会话流量,分别提取会话流量中的网络数据包的时序特征、会话流量中的网络数据包的字节分布特征、以及会话流量的指定协议字段的协议特征中的至少两种,最后将提取的上述特征经由分类模型完成流量的分类。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种流量分类方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,获取网络数据包,基于所述网络数据包的五元组重组会话流量;
网络用户之间的信息交互,是通过网络数据包的交换来实现的。网络数据包中的五元组可以确定一次唯一的会话,基于重组的会话流量展开特征提取以及后续的流量分类,所以在本步骤中需要采用抓包工具对网络数据包提取。具体的,采用提取工具提取网络数据包,网络常用的网络数据包的提取工具有:tcpdump、libpcap、winpcap以及wireshark,其中,tcpdump是linux中强大的网络数据分析工具之一,tcpdump可以截获网络中传送的数据包用于分析,能够过滤网络层、协议、主机、网络或端口,能够根据用户的不同需求分析数据包;libpcap是应用于linux平台的用于捕获网络数据包的函数包针对数据包实现捕获、过滤、分析和储存;winpcap是libpcap的windows版本;wireshark是一个网络封包分析软件,它的目标是抓取网络封包,并最大程度显示出网络封包的详细资料。wireshark的接口为winpcap,能够与网卡直接进行数据报文交换。在其中一个实施例中,采用wireshark抓取网络数据包,wireshark抓取网络数据包的工作流程如下:1、选择捕获接口。通常选择的网络接口为internet,在internet中捕获网络相关数据。否则,从其他接口捕获到的数据也不存在任何意义。2、使用捕获过滤器。捕获过滤器的使用避免了过大的捕获文件的出现,使用户在分析数据时不受干扰,同时节约大量时间。3、使用显示过滤器。为了进一步使通过捕获过滤器后的数据包划分得更细,需要加入显示过滤器。4、构建图表。图表能够帮助用户更清晰地了解网络中数据的变化及分布。5、重组数据,包括重组会话中的不同数据包,或重组图片和文件中分布在不同数据包中的信息。
获取网络数据包之后,基于网络数据包的五元组重组会话流量,其中,网络数据包的五元组包括:源ip地址,源端口,目的ip地址,目的端口,和传输层协议这五个量组成的一个集合。其中,源ip地址表明了网络数据包的起源,源端口是指用来发送数据的端口,目的ip地址解释了网络数据包的目的地,目的端口指用来接收数据的端口,传输层协议一般指的是传输层安全协议,为互联网通信,提供安全及数据完整性保障。
网络数据包的五元组可以重组网络流量,同一组的网络流量是具有相同五元组的所有网络数据包,会话则为双向网络流量,若交换源ip地址和目的ip地址后,五元组仍然相同的网络流量则被定义为会话流量。在其中一个实施例中,基于获取的网络数据包,将所有网络数据包中五元组相同的网络数据包重组为网络流量,若存在一网络流量的网络数据包的源ip地址为131.202.240.242,目的ip地址为4.28.136.42,另一网络流量的源ip地址为4.28.136.42,目的ip地址为131.202.240.242,此时两个网络流量的源ip地址和目的ip地址互换之后,网络数据包的五元组仍未发生改变,则可以标记为一个会话流量。
步骤204,提取所述会话流量的会话特征,所述会话特征包括:所述会话流量中的网络数据包的时序特征、所述会话流量中的网络数据包的字节分布特征、以及所述会话流量的指定协议字段的协议特征中的至少两种。
在本步骤中,提取会话流量的会话特征,会话特征包括:会话流量中的网络数据包的时序特征,会话流量中的网络数据包的字节分布特征、会话流量的指定协议字段的协议特征中的至少两种。
对于网络数据包的特征提取,可以对网络数据包进行基于深度包解析(dpi)的流量分析,再通过网络数据包的协议信息和应用载荷中的特征字符来检测恶意流量,通过提取可人工识别的特征方法来进行分析,也可以基于神经网络模型进行特征提取。在其中一个实施例中,使用卷积神经网络模型提取会话流量中的网络数据包的字节特征,再将提取出的字节特征输入至长短记忆模型,使用长短记忆模型从字节特征中提取时序特征。一个实施例中,可以使用卷积层1、池化层1、卷积层2、池化层2、卷积层3的结构的卷积神经网络模型,也可以使用卷积层1、池化层1、卷积层2、池化层2、卷积层3、全连接层的结构的卷积神经网络模型,本申请中由于只用卷积神经网络做特征提取,所以选择不带全连接层的卷积神经模型来提取会话流量中的网络数据包的字节特征。在经由卷积层3之后,提取到会话流量中的网络数据包的字节特征,将卷积神经网络输出的字节特征输入至长短期记忆网络模型,得到会话流量中的网络数据包的时序特征。
在使用卷积神经网络模型提取特征之前可以对每个会话流量中的网络数据包的字节进行独热编码。独热编码又称一位有效编码,其方法是使用n位状态寄存器来对n个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候,其中只有一位有效,其优点在于能够处理非连续型数值特征且易于设计实现,不需要解码器等操作,同时在一定程度上进行了特征的扩充。由于卷积神经网络要求的数据长度是一样的,所以要对会话流量中的网络数据包的长度进行截断或者补全,在其中一个实施例中,取前6个会话流量中的网络数据包,按照100个字节对每个会话流量中的网络数据包进行截断或者补0,若会话流量中的网络数据包有不满100字节的,则在后面补0x00直到满100字节,如果超过100字节,则截断到100字节为止。之后,基于截断或补全的会话流量中的网络数据包,采用独热编码对每个会话流量中的网络数据包的字节按照0-255,一共256个维度进行每个字节的值的对应编码。
将独热编码之后的会话流量中的网络数据包的每个字节的值的对应编码输入至卷积神经网络模型,通过卷积神经网络模型得到会话流量中的网络数据包的字节特征,之后基于会话流量中的网络数据包的字节,使用长短期记忆网络模型提取会话流量中的网络数据包的时序特征。
其中,卷积神经网络模型的训练过程分为两个阶段,第一个阶段为数据由低层次向高层次传播的阶段,即前向传播阶段。另外一个阶段是,当前向传播得出的结果与预期不相符时,将误差从高层次向低层次进行传播训练的阶段,即反向传播阶段。
在其中一个实施例中,将独热编码之后的会话流量中的网络数据包中每个字节的值的对应编码输入至卷积神经网络的卷积层1、池化层1、卷积层2、池化层2、卷积层3,提取出会话流量中的网络数据包的字节特征,输出特征向量。将输出的特征与目标特征进行比较,若偏差在允许范围内,则结束训练过程。若误差大于期望值时,将误差传回网络中,依次求得全连接层,下采样层,卷积层的误差,当误差等于或小于我们的期望值时,结束训练。
在其中一个实施例中,将独热编码之后的会话流量中的网络数据包中每个字节的值的对应编码输入到卷积神经网络模型,传统技术中,基于卷积神经网络的加密流量检测方法,这种方法将加密流量按照五元组重组成会话,并直接将会话中所有网络数据包中的字节映射到一个像素点,从而将会话转换为图片并使用深度卷积神经网络来训练分类模型,实现对加密恶意流量的识别。然而这种把一个网络会话中所有字节看成连续的字节流的基于cnn的方法缺失了对加密流量协议特征的捕获,并且把多个网络数据包拼合在一起再使用卷积窗口的滑动抽取特征方法也不能很好的提取网络数据包之间的时序特征,因此不能达到最好的检测效果。
在本步骤中,还包括提取会话流量中的网络数据包的字节分布特征。在提取会话流量中的网络数据包的字节分布特征之前,需要保证输入到自编码模型中的会话的字节长度是一致的,具体的,可以对整个网络会话提取前600个字节,如果不到600个字节,则在后面补零直到满600个字节。之后,对会话中的每个字节进行独热编码,按照0-255,一共256个维度进行每个字节的值的对应编码。自编码是一种无监督的学习算法,将输入信息进行压缩,提取出数据中最具代表性的信息。其目的是在保证重要特征不丢失的情况下,降低输入信息的维度,减小神经网络的处理负担。简单来说就是提取输入信息的特征。
在其中一个实施例中,深度自编码模型通过给定无标签数据,用非监督学习方式学习特征。将独热编码后的结果作为输入至encoder编码器,通过decoder解码器输出信息,如果decoder解码器输出的信息和一开始的输入是很像的,就可以通过调整encoder编码器和decoder解码器的参数,使得重构误差最小,这时候我们就得到了输入输入信号的第一层表示了,之后训练下一层,编码的过程称为输入层,解码的过程可以称为输出层。其中,通过设置输出层中神经元的个数小于输入层中神经元的个数就可以对数据集进行降维。反之,也可以将输出层神经元的个数设置为大于输入层神经元的个数,然后在损失函数构造上加入正则化项进行系数约束,这时就成了稀疏自编码,例如,可以分别使用400、300、200、100、50个神经元构成网络。
在本步骤中,还包括提取会话流量的指定协议字段的协议特征,其中,协议特征包括客户端的公钥长度,rsa密码(rsaciphertext)或dh/ecdh公钥的长度。在其中一个实施例中,以客户端与服务端之间的会话为例来说明,启动ssl会话之后,客户端向服务端发起请求,通过明文传输请求信息,包含版本信息,加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息,服务端返回协商的信息结果,包括选择使用的协议版本version,选择的加密套件ciphersuites,选择的压缩算法compressionmethod、随机数random_s等,其中随机数用于后续的密钥协商,其中,客户端支持的加密套件ciphersuites列表,每个加密套件对应前面ssl原理中的四个功能的组合:认证算法(身份验证)、密钥交换算法keyexchange(密钥协商)、对称加密算法enc(信息加密)和信息摘要mac(完整性校验);服务端会选择使用的加密套件ciphersuite等返回给客户端。
在其中一个实施例中,当本申请实施例方法在终端执行时,可以通过ssl客户端提取ciphersuites列表字段、支持的tlsextensions列表字段,并在ssl客户端提取certificate字段。当本申请实施例方法在服务器执行时,可以通在ssl服务端提取所使用的ciphersuites字段和tlsextensions字段。其中,certificate为服务器配置并返回的证书链,基于提取的字段,可以得知客户端的公钥长度,rsaciphertext或dh/ecdh公钥的长度这些特征信息。
步骤s210,基于提取的所述时序特征、所述字节分布特征以及所述协议特征,对所述双向网络流量进行分类。
在本步骤中,基于提取的时序特征、字节分布特征以及协议特征,通过训练分类模型来达到准确的流量分类。具体的,使用两层的全连接神经网络和一层softmax层对lstm、autoencoder和ssl协议三部分输出的特征进行统一的分类推理。
在其中一个实施例中,可以获取恶意流量样本代码以及其对应的标签类别,将lstm、autoencoder和ssl协议三部分提取出的特征向量输入至分类器,基于标签类别和特征向量,分类器的结够可以为两层的全连接神经网络和一层softmax层,调整待训练分类器的参数,直至获得训练好的分类器。
上述流量分类方法中,获取网络数据包,基于网络数据包的五元组重组会话流量;提取会话流量的会话特征,会话特征包括:会话流量中的网络数据包的时序特征、会话流量中的网络数据包的字节分布特征、以及会话流量的指定协议字段的协议特征中的至少两种;基于提取的时序特征、字节分布特征以及协议特征,对双向网络流量进行分类,可以获得更加准确的识别结果。
在其中一个实施例中,基于网络数据包的五元组重组会话流量之后,提取所述双向会话流量网络流量的会话的会话特征之前,包括:去除双向网络会话流量流量的会话中的重复的网络数据包和/或空应用载荷的网络数据包。
在提取会话流量中的网络数据包的时序特征之前,需要对网络数据包进行预处理,例如,去除重复的网络数据包,产生相同的网络数据包的原因有网络延迟、网络抖动等,会导致网络数据包的内容和网络会话或流量是相同的,如果不加处理会导致在cnn模型训练时产生相应的偏差,通过去掉重复的网络数据包来解决此问题,例如,还包括去除网络数据包中的空应用载荷,有的网络数据包没有应用层数据,会导致生成没有实际数据的文件,因此也需要进行删除处理。
在其中一个实施例中,提取会话流量中的网络数据包的时序特征之前,还包括:
将所述会话流量中的网络数据包的五元组中的源ip地址以及目的ip地址替换为相同的字符;
按照设定的字节长度对替换字符后的所述会话流量中的网络数据包进行截断或补全;
对会话流量中的网络数据包的每个字节进行独热编码。
在去除重复网络数据包和空应用载荷之后,需要对网络数据包做进一步处理,由于在不同的网络环境下网络数据包的源ip地址与目的ip地址都是变化的,所以具体是什么源ip地址与目的ip地址没有实际意义,只需要用源ip地址与目的ip地址来区分是内网还是外网。因此,可以替换网络数据包的源ip地址和目的ip地址为统一的字符,具体的,可以替换网络数据包的源ip地址为0x01010101,替换网络数据包的目的ip地址为0xfefefefe。在替换网络数据包的源ip地址与目的ip地址为统一字符之后,提取网络数据包,对提取的网络数据包进行独热编码,为后续的特征提取做准备。例如,可以按照抓捕数据包的时间顺序提取前6个数据包。
在其中一个实施例中,提取所述会话流量中的网络数据包的字节分布特征之前,包括:
将会话流量按照设定的字节长度进行截断或补全。
在其中一个实施例中,提取所述会话流量中的网络数据包的字节分布特征,包括:
对所述会话流量中的每个字节进行独热编码,将获得的编码结果作为所述字节分布特征。
在其中一个实施例中,对每个独热编码后的网络数据包进行特征提取,使用全卷积层,没有全连接层,直接输出卷积神经网络在每个数据包上提取的特征,使用卷积神经网络的全卷积层对每个独热编码后的网络数据包进行特征提取,获得所述卷积神经网络的全卷积层输出的字节特征,提取会话流量中的网络数据包的时序特征。
在其中一个实施例中,包括:
根据ssl协议特征提取所述双向网络会话中的指定协议字段的特征,所述指定协议字段为ssl客户端的ciphersuites列表字段、tlsextensions列表字段,ssl服务端提取所使用的ciphersuites字段和tlsextensions字段,ssl客户端的certificate字段。
图2为一种流量分类方法的流程图,以实例来说明流量分类方法的实施例。
1、基于网络数据包的五元组重组会话流量,网络数据包的五元组包括:源ip地址、源端口号、目的ip地址、目的端口号、协议字段。例如,此时两个网络流量的源ip地址和目的ip地址互换之后,网络数据包的五元组仍未发生改变,则可以标记为一个会话流量。
2、对重组会话后的会话流量中的网络数据包进行预处理,去除重复和空应用载荷的网络数据包之后,将会话流量中的网络数据包的源ip地址与目的ip地址替换为统一的字符,例如,可以替换源ip地址为0x01010101,目的ip地址为0xfefefefe。
3、卷积神经网络需要保证网络数据包在输入的时候要统一大小,可以通过设置一个相应的字节长度,若网络数据包的长度大于这个设定的字节长度,则将其截断,若网络数据包的长度小于这个设定的字节长度,则对其进行补0处理。在其中一个实施例中,取前6个会话流量中的网络数据包,按照100个字节,对每个双会话流量向网络流量的会话中的网络数据包进行截断或者补0,每个双向网络会话流量流量的会话中的网络数据包不满100字节,则在后面补0x00直到满100字节,如果超过100字节则截断到100字节为止。
4、在统一会话流量中的网络数据包的字节长度之后,对每个上述网络数据包里的字节进行独热编码,具体的,按照0-255一共256个维度进行每个字节的值的对应编码。
5、使用卷积神经网络的全卷积层对每个独热编码后的网络数据包进行特征提取,卷积神经网络的结构为卷积层1、池化层1、卷积层2、池化层2、卷积层3,其中,用于本方案中的卷积神经网络模型只做特征提取,所以未使用全连接层。
6、基于卷积神经网络模型全卷积层输出的字节特征,使用lstm提取时序特征,输出特征向量。
7、自编码网络在提取字节分布特征之前,需要统一整个会话的长度,例如,可以对整个会话取前600字节,如果不足600字节则在后面补0x00。
8、统一会话的长度之后,对会话中的网络数据包的每个字节进行独热编码,按照0-255一共256个维度进行每个字节的值的对应编码。
9、将获得的编码结果输入至深度自编码网络,提取出会话流量中的网络数据包的字节分布特征。具体的,深度自编码网络可以为分别使用400、300、200、100、50个神经元构成网络,针对输入的编码后的600字节的网络会话输出特征向量。
10、提取会话流量中基于ssl协议的指定协议字段的特征,例如,当本申请实施例方法在终端执行时,可以通过ssl客户端提取ciphersuites列表字段、支持的tlsextensions列表字段,并在ssl客户端提取certificate字段。当本申请实施例方法在服务器执行时,可以通在ssl服务端提取所使用的ciphersuites字段和tlsextensions字段。其中,certificate为服务器配置并返回的证书链,基于提取的字段,可以得知客户端的公钥长度,rsaciphertext或dh/ecdh公钥的长度这些特征信息。
11、将三种方式提取到的特征向量,包括会话流量中的网络数据包的时序特征,会话流量中的网络数据包的字节分布特征以及会话流量的指定协议字段的协议特征输入至全连接分类器,获得最终的分类,具体的,使用两层全连接神经网络和一层softmax来输出最终的流量分类结果。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种恶意流量识别装置,包括:会话重组模块302、特征提取模块304,分类模块306。其中:
会话重组模块302,用于基于所述网络数据包的五元组重组会话流量;
特征提取模块304,用于提取所述会话流量的会话特征,所述会话特征包括:所述会话流量中的网络数据包的时序特征、所述会话流量中的网络数据包的字节分布特征、以及所述会话流量的指定协议字段的协议特征中的至少两种;
分类模块306,用于基于提取的所述时序特征、所述字节分布特征以及所述协议特征,对所述双向网络流量进行分类。
可选的,提取模块还包括:
cnn特征提取模块402,使用卷积神经网络对每个经过表示处理后的数据包提取特征;
lstm特征提取模块404,使用lstm对一个网络会话中的所有卷积神经网络提取的数据包特征构成的序列进行特征提取;
autoencoder特征提取模块406,用于对经过数据表示后的整个会话的所有数据包进行自编码的特征提取;
ssl特征提取模块308,用于提取所述会话流量中的指定协议字段的协议特征;
可选地,所述装置还包括:
网络数据包预处理模块502,用于去去除所述会话流量中的重复的网络数据包和/或空应用载荷的网络数据包。
第一数据表示模块504,用于将会话流量中的网络数据包的五元组中的源ip地址以及目的ip地址替换为相同的字符;按照设定的字节长度对替换字符后的网络数据包进行截断或补全;对会话流量中的网络数据包的每个字节进行独热编码。
第二数据表示模块506,用于将会话流量按照设定的字节长度进行截断或补全,对会话流量中的每个字节进行独热编码。
关于流量分类装置的具体限定可以参见上文中对于流量分类方法的限定,在此不再赘述。上述流量分类装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种流量分类方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储网络数据包。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种流量分类方法。
本领域技术人员可以理解,图7-8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。