一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于特征数据和深度学习的网络流量识别方法及系统

2022-04-13 23:56:05 来源:中国专利 TAG:


1.本发明属于互联网技术领域,尤其涉及一种基于特征数据和深度学习的网络流量识别方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.由于互联网流量的快速变化和网络技术的快速迭代性,传统的基于规则的方法,如深度包检测、异常端口检测,准确率低。机器学习是一种广泛应用的分类技术,因为它可以从数据集自动学习生成模型。由于网络数据流量大、结构复杂,机器学习的处理能力往往有限,普遍存在误报率高、泛化能力差、实时性差的缺点。因此,如何建立一个能够有效识别各种复杂加密流量的系统是一个迫切需要解决的问题。
4.现有的网络流量识别方法一方面获取的数据未进行进一步筛选得到具有代表性的特征数据,影响分类的结果,造成网络流量的类型识别错误;另一方面现有的分类模型采用的分类模型,算法复杂度高,识别效率低。


技术实现要素:

5.为了解决上述背景技术中存在的至少一项技术问题,本发明提供一种基于特征数据和深度学习的网络流量识别方法,其在各类加密流量的识别中通过减少参数,降低计算复杂度的情况下提高了模型的识别效率和识别的准确率,同时通过可以可视化看到流量的实时分类状况和预测未来流量的可能分类结果。
6.为了实现上述目的,本发明采用如下技术方案:
7.本发明的第一个方面提供一种基于特征数据和深度学习的网络流量识别方法,包括如下步骤:
8.获取待识别网络流量数据;
9.对待识别网络流量数据进行预处理,得到特征数据;
10.根据特征数据和训练好的神经网络模型进行服务类型分类,得到网络流量的服务类型;所述训练好的神经网络模型包括两层,第一层用于判断网络流量数据是否为tor或vpn网络流量数据,第二层用于对tor或vpn数据的网络流量数据进行分类;
11.将网络流量的分类结果通过可视化界面展示。
12.本发明的第二个方面提供一种基于特征数据和深度学习的网络流量识别系统,包括:
13.数据获取模块,被配置为:获取待识别网络流量数据;
14.数据预处理模块,被配置为:对待识别网络流量数据进行预处理,得到特征数据;
15.分类识别模块,被配置为:根据特征数据和训练好的神经网络模型进行服务类型分类,得到网络流量的服务类型。所述训练好的神经网络模型包括两层,第一层用于判断网
络流量数据是否为tor或vpn网络流量数据,第二层用于对tor或vpn数据的网络流量数据进行分类;
16.可视化模块,被配置为:将网络流量的分类结果通过可视化界面展示。
17.本发明的第三个方面提供一种计算机可读存储介质。
18.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的一种基于特征数据和深度学习的网络流量识别方法中的步骤。
19.本发明的第四个方面提供一种计算机设备。
20.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的一种基于特征数据和深度学习的网络流量识别方法中的步骤。
21.与现有技术相比,本发明的有益效果是:
22.对输入的流量数据进行两层分类,第一层分类用于确定输入流量是否是加密流量,第二层分类进一步对流量进行分类,识别具体是哪种服务产生的流量。本发明在各类加密流量的识别中在增加少量参数的情况下带来出色的准确率,同时通过本系统可以可视化看到流量的实时分类状况和预测未来流量的可能分类结果。
23.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
24.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
25.图1是本发明网络流量识别方法流程图;
26.图2是神经网络模型结构图。
具体实施方式
27.下面结合附图与实施例对本发明作进一步说明。
28.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
29.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
30.实施例一
31.本实施例提供了一种基于特征数据和深度学习的网络流量识别系统,包括如下步骤:
32.步骤一:获取待识别网络流量数据;
33.步骤二:对待识别网络流量数据进行预处理,得到结构化数据;
34.步骤三:根据结构化数据和训练好的神经网络模型进行服务类型分类,得到网络
流量的服务类型;所述训练好的神经网络模型包括两层,第一层用于判断网络流量数据是否为tor或vpn网络流量数据,第二层用于对tor或vpn数据的网络流量数据进行分类;
35.步骤四:将网络流量的分类结果通过可视化界面展示;
36.包括如下步骤:
37.读取网络流量的分类结果,提取该图像文件的轮廓图;
38.导入轮廓图,根据预设的分类类别将该轮廓图进行区域划分,生成对应类别的区域子轮廓图;
39.将每个类别的区域子轮廓图分别进行面积、尺寸可视化处理,分别生成面积可视化区域子图;
40.对生成的各个面积可视化区域子图进行颜色填充隐藏,生成可视化图形子图;
41.将生成的各个可视化图形子图组合成可视化图形。
42.在步骤一中,在网络通信过程中,所述待识别网络流量数据通过抓包工具抓取,例如可以采用wireshark抓包工具等。
43.在步骤二中,所述预处理过程包括数据清洗、数值化、归一化、结构化的一系列操作;
44.其中,所述的数据清洗是处理数据中不协调的部分,保证数据质量。
45.所述的数值化是指使用读热编码将字符编码转换成数值变量。
46.所述归一化是为了防止特征之间数值范围差异较大影响模型训练效果,将特征值经过归一化落在[0,1]的范围内。
[0047]
所述结构化是将数据改造成满足神经网络模型输入格式化数据。
[0048]
所述待识别网络流量数据包括训练数据集和测试集。
[0049]
进一步地,由于同一个类型的网络流量数据具有几万条甚至几十万条,因此训练的数据集需要有代表性,本发明对预处理得到的结构化数据进一步进行了筛选。
[0050]
所述训练数据在输入神经网络模型之前进行了筛选,所述训练数据集的筛选过程包括:将具有n个属性的结构化数据,一次删除一个特征项,生成一个集合,以此类推生成n-1个集合,并用这些子集作为模型的输入,将得到的每个集合进行重要性排序,得到前i个数据集作为神经网络的输入。
[0051]
本发明采用一种新的方法进行特征提取,选取排名靠前的前n个特征数据集作为神经网络的输入。
[0052]
所述特征数据的排名采用十折交叉验证的方法,使用真阳性率和假阳性率作为评判标准。
[0053]
在步骤三中,所述神经网络模型采用一维卷积神经网络和图解通道注意力机制网络,具体的结构为:采用了两个一维卷积神经网络层,每个一维卷积神经网络层后面添加一个图解通道注意力机制网络,所述图解通道注意力机制网络包括k个相邻的通道,最后添加了一个扁平层、一个退出层和一个致密层。
[0054]
本发明的eca层使用k个相邻的通道,而不是两个完全连接的层。
[0055]
通过在一层cnn模型的基础上,另加一层eca的性能比加一层cnn参数少很多并且运算性能有很大的提升。
[0056]
为了进一步提高性能,所述图解通道注意力机制网络所有通道共享权重信息,某
一通道i的权重计算公式为:
[0057][0058]
其中,i表示当前通道,j表示当前通道的相邻通道,表示所有相邻通道的集合,σ表示神经元的激励函数,ωj为该输出神经元对应的权重矩阵,ω=σ(c1dk(y)),其中c1d代表一维卷积,其中|
·
|
odd
代表最近的奇数,γ和b分别设置为2和1。
[0059]
eca注意力通道机制考虑每个通道及其k个邻居,减少了计算量的同时获得了更高的精度。
[0060]
该系统使用一维卷积神经网络作为基本分类模型,eca放在卷积层的后面,进一步提高卷积神经网络的性能,最后加入全连接层进行预测。
[0061]
所述第一层分类使用两层一维卷积神经网络,每一层网络追加在eca注意力通道机制,将数据集中特征值为0的特征项删除,以此为特征数据进行特征选择。
[0062]
所述分类结果包括聊天、e-mail、p2p、网络电话、浏览器、文件传输、视频流、语音流等。
[0063]
为了验证本发明提出的方法由于最新的分类算法,通过采用cic-darknet2020数据集,进行了试验,采用分类的精确率、召回率以及f1分数进行比较本实施例的算法和现有的算法,试验的结果如下:
[0064]
朴素贝叶斯算法的精确率为57.36%,召回率为51.09%,f1分数为52.49%;k近邻算法的精确率为84.78%,召回率为82.73%,f1分数为82.33%;两层一维卷积神经网络算法的精确率为86.80%,召回率为86.07%,f1分数为84.94%;本实施例的算法的精确率为87.01%,召回率为86.41%,f1分数为85.34%。
[0065]
通过上述实验结果对比,可以得到这一特点使得基于神经网络模型的分类模型仅用10个参数就获得了明显的提升。显然,在二进制分类中,我们的模型的性能优于最新的分类算法。
[0066]
实施例二
[0067]
数据获取模块,被配置为:获取待识别网络流量数据;
[0068]
数据预处理模块,被配置为:对待识别网络流量数据进行预处理,得到特征数据;
[0069]
分类识别模块,被配置为:根据特征数据和训练好的神经网络模型进行服务类型分类,得到网络流量的服务类型。所述训练好的神经网络模型包括两层,第一层用于判断网络流量数据是否为tor或vpn网络流量数据,第二层用于对tor或vpn数据的网络流量数据进行分类;
[0070]
可视化模块,被配置为:将网络流量的分类结果通过可视化界面展示,对网络流量的未来发展形式进行预测。
[0071]
实施例三
[0072]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处
理器执行时实现如上述所述的一种基于特征数据和深度学习的网络流量识别方法中的步骤。
[0073]
实施例四
[0074]
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的一种基于特征数据和深度学习的网络流量识别方法中的步骤。
[0075]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0076]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0077]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0078]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0079]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
[0080]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献