网络流量分析与控制

2024-04-12 19:28
文章标签 分析 控制 网络流量

本文主要是介绍网络流量分析与控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计5477字,阅读大概需要3分钟
🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿
个人网站:https://jerry-jy.co/

网络流量分析与控制

  • 1、目的
  • 2、分类
    • 2.1、基于端口号的流量分析方法
    • 2.2、基于深度包检测的流量分类方法
    • 2.3、基于机器学习的流量分类方法
  • 参考文献

1、目的

互联网流量分类的目的是为了网络管理与网络安全,流量分类在网络规划、入侵检测、网络监控和流量趋势分析等方面都起到了关键作用。

2、分类

关于网络流量分析与控制的研究现状主要集中在以下几个方面:基于端口号的流量分析方法基于深度包检测的流量分析方法基于机器学习的流量分析方法


在这里插入图片描述

2.1、基于端口号的流量分析方法

基于端口号的流量分析方法是一种常见的网络流量分析技术,它利用网络数据包中的目标端口号来识别和分类不同类型的网络流量。在进行基于端口号的流量分析之前,首先需要了解不同应用程序通常使用的端口号。例如,HTTP通常使用80端口,HTTPS使用443端口,SMTP使用25端口等。这样的映射关系可以帮助识别不同应用程序产生的流量。通过监测和统计网络数据包中的目标端口号,可以分析不同端口的流量数量和流量特征。例如,可以统计各个端口的流量占比、流量峰值等信息,以及不同时间段或网络区域中不同端口的流量情况。基于已知的端口号与应用程序的映射关系,可以将网络流量根据端口号进行分类。例如,如果某个端口号经常被识别为HTTP流量,那么相应的流量可以归类为Web流量;如果某个端口号被识别为SSH(Secure Shell)流量,那么相应的流量可以归类为远程管理流量。基于端口号的流量分析还可以用于网络流量的控制和优化。例如,可以针对特定端口的流量进行流量限速、阻断或优先级调整等操作,以实现网络资源的合理分配和利用。

[1]王倪.基于端口识别的网络流量分类模式的改进[J].电脑知识与技术,2017,13(03):52-53+59.DOI:10.14004/j.cnki.ckt.2017.0252.
王倪等人【】提出了基于端口识别的网络流量分类模式的改进,在传统的端口分类方式的基础上,引入了目前较流行的自适应深度学习机制,采用自组织映射网络算法实现网络流量合理分类,具有一定的参考借鉴价值。

王一丰, 郭渊博, 陈庆礼, 等. 基于对比学习的细粒度未知恶意流量分类方法[J]. 通信学报, 2022, 43(10): 12-25.
王一丰等人【】提出了一种基于对比学习的细粒度未知恶意流量分类新方法,基于变分自编码器(CVAE)的分类阶段包括两个分类阶段,交叉熵和重构误差分别用于已知和未知的交通分类。采用不同形式的其他方法,在不同分类阶段采用对比学习,显著提高了少样本和未知(零样本)类的分类性能。

薛文龙, 于炯, 郭志琦, 等. 基于特征融合卷积神经网络的端到端加密流量分类[J]. Journal of Computer Engineering & Applications, 2021, 57(18).
薛文龙等人【】提出了一种基于特征融合的轻量级网络模型Inception-CNN,用于端到端加密流量的分类,在显著提高分类结果准确性的同时,大大降低了网络计算复杂度。

[1]肖斌,甘昀,汪敏,等.基于端口注意力与通道空间注意力的网络异常流量检测[J/OL].计算机应用:1-10[2024-04-06].http://kns.cnki.net/kcms/detail/51.1307.TP.20230725.1006.002.html.
肖斌等人提出一个卷积神经网络(CNN)结合端口注意力(PAM)和通道空间注意力(CBAM)的网络异常流量检测模型,所提模型的异常流量检测二分类任务准确率为99.18%,多分类任务准确率为99.07%,对于只有少数训练样本的类别也有较高的识别率。

[1]王平辉,郑庆华,牛国林,等.基于流量统计特征的端口扫描检测算法[J].通信学报,2007(12):14-18.
王平辉等人【】提出一种慢速端口扫描行为检测算法,以主机数和端口数的比值及被访问主机端口集合之间的相似度为基础,采用非参数累积和CUSUM算法及小波变换方法对流量统计特征进行分析,进而判断是否存在端口扫描行为。

2.2、基于深度包检测的流量分类方法

基于深度包检测(Deep Packet Inspection,DPI)的流量分析方法是一种通过深入解析网络数据包的内容和结构,从而实现对网络流量的深度分析和识别的技术[8]。首先需要捕获网络中的数据包,通常通过网络监控设备或软件来实现,数据包捕获可以针对特定的网络接口、IP地址、端口号等进行过滤。捕获到的数据包需要进行解析,即对数据包的头部和负载进行解析和提取。DPI技术可以深入到数据包的各个层级,包括链路层、网络层、传输层和应用层,从而获取尽可能详细的数据包信息。解析后的数据包内容可以用于流量分类与识别,包括识别数据包所属的协议、应用程序或服务,并将流量归类为相应的流量类型,如HTTP、SMTP、SSH等。通过分析数据包中的协议头部信息、负载内容、端口号等来实现。对已识别的流量进行进一步分析和统计,包括统计各种流量类型的数量、流量数量、流量分布等信息,以及分析流量的行为特征、传输模式、数据流量模式等,从而了解网络的使用情况和流量模式。除了对流量进行识别和分类外,DPI技术还可以用于安全检测与威胁识别,通过深入分析数据包的内容,可以检测出一些潜在的安全威胁,如恶意软件、网络攻击、数据泄露等,并及时采取相应的安全措施。基于对流量的深入分析,实现对网络流量的精细控制与管理,包括流量调度、流量限速、流量优先级控制等操作,以满足不同应用场景下的网络需求。

[1]陈贞贞.基于DPI和机器学习的加密流量类型识别研究[J].信息通信,2018(04):258-260.
陈贞贞等人【】提出了一种基于DPI技术和机器学习结合的加密流量识别方法,通过DPI技术识别大多数已知特征的网络流量,减少机器学习的计算量,再通过机器学习分析未知特征加密流量,并通过实验验证该方法能够弥补DPI技术的缺陷,提高识别率。

Song W, Beshley M, Przystupa K, et al. A software deep packet inspection system for network traffic analysis and anomaly detection[J]. Sensors, 2020, 20(6): 1637.
Song等人【】提出了一种用于网络流量分析和异常检测的软件深度数据包检测系统,开发了用于分析和捕获流量的算法,并具有协议检测和确定统计负载参数。还开发了基于对流量进行的静态分析来确保QoS(服务质量)的流量调节算法,提高了入侵检测和防御系统的效率。

Khandait P, Hubballi N, Mazumdar B. Efficient keyword matching for deep packet inspection based network traffic classification[C]//2020 International Conference on COMmunication Systems & NETworkS (COMSNETS). IEEE, 2020: 567-570.
Khandait等人【】提出了一种基于深度数据包检测的网络流量分类的高效关键字匹配算法,使用启发式方法对流有效载荷的单次扫描对网络流进行分类,以实现亚线性搜索复杂度,实验结果表明具有 98% 的良好分类准确率。

Cheng Z, Beshley M, Beshley H, et al. Development of deep packet inspection system for network traffic analysis and intrusion detection[C]//2020 IEEE 15th International Conference on Advanced Trends in Radioelectronics, Telecommunications and Computer Engineering (TCSET). IEEE, 2020: 877-881.
Cheng等人【】提出了一种开发用于网络流量分析和入侵检测的深度数据包检测系统,可以在不同的观察间隔内确定Hurst流量参数,该系统可以安装在网络提供商上,以更有效地使用带宽。

Deri L, Fusco F. Using deep packet inspection in cybertraffic analysis[C]//2021 IEEE International Conference on Cyber Security and Resilience (CSR). IEEE, 2021: 89-94.
Deri等人【】提出了一种利用安全评分概念进行网络安全检测的新方法,通过深度数据包检测提取信号,针对包含网络攻击的各种流量数据集进行了验证,实验结果表明能有效地检测网络威胁,而无需基于机器学习的解决方案的复杂性。

2.3、基于机器学习的流量分类方法

基于机器学习的流量分析方法利用机器学习算法对网络流量数据进行训练和学习,从而实现对流量的分类、识别和预测[14]。首先需要收集网络流量数据,并进行预处理,包括数据清洗、特征提取和特征工程等步骤,以便将原始流量数据转换成机器学习算法可以处理的格式。在进行机器学习流量分析之前,需要选择合适的特征,并构建特征向量。特征可以包括源IP地址、目标IP地址、端口号、协议类型、数据包大小、数据包延迟等信息。特征的选择和构建需要考虑到数据的表征能力和机器学习算法的需求。选择合适的机器学习算法,并利用已标记的流量数据对模型进行训练。常用的机器学习算法包括决策树、支持向量机(SVM)、神经网络、朴素贝叶斯、随机森林等。训练过程中,需要使用训练集和验证集进行模型的训练和调优。训练完成后,需要对模型进行评估和验证,包括使用测试集对模型进行测试,并计算模型的性能指标,如准确率、精确率、召回率、F1-score等,以评估模型的分类准确性和泛化能力。训练好的模型应用于实际的流量分析任务中,将模型部署到网络设备或流量分析平台中,实时对流量进行分类、识别和预测,并提供相应的安全防御和管理措施。

[1]顾玥,李丹,高凯辉.基于机器学习和深度学习的网络流量分类研究[J].电信科学,2021,37(03):105-113.
顾玥等人【】提出了基于机器学习和深度学习的网络流量分类研究,围绕流量分类线上部署时会遇到的3个问题:数据集问题、新应用识别问题、部署开销问题对相关工作进行阐述与分析,并探讨目前网络流量分类研究面临的挑战。

[1]刘珍,王若愚.基于行为特征学习的互联网流量分类方法[J].电信科学,2016,32(06):143-152.
刘珍等人【】提出了基于行为特征学习的互联网流量分类方法,采用C4.5决策树算法学习基于行为特征的分类规则,其无需人工建立启发式规则。

Liu L, Wang P, Lin J, et al. Intrusion detection of imbalanced network traffic based on machine learning and deep learning[J]. IEEE access, 2020, 9: 7550-7563.
Liu等人【】提出了基于机器学习和深度学习的网络流量不均衡入侵检测算法,减少了原始训练集的不平衡,并为需要学习的少数群体提供了有针对性的数据增强,使分类器能够更好地学习训练阶段的差异,提高分类性能。

Hwang R H, Peng M C, Huang C W, et al. An unsupervised deep learning model for early network traffic anomaly detection[J]. IEEE Access, 2020, 8: 30387-30399.
Hwang等人【】提出了用于早期网络流量异常检测的无监督深度学习模型,由卷积神经网络(CNN)和无监督深度学习模型(例如自动编码器)组成,用于自动分析流量模式和过滤异常流量。

Saharkhizan M, Azmoodeh A, Dehghantanha A, et al. An ensemble of deep recurrent neural networks for detecting IoT cyber attacks using network traffic[J]. IEEE Internet of Things Journal, 2020, 7(9): 8852-8859.
Saharkhizan等人【】提出了一种使用高级深度学习来检测针对物联网系统的网络攻击的方法。将一组长短期记忆(LSTM)模块集成到一个检测器集合中。然后使用决策树合并这些模块,以在最后阶段获得聚合输出。

参考文献

Alqudah N, Yaseen Q. Machine learning for traffic analysis: a review[J]. Procedia Computer Science, 2020, 170: 911-916.

Joshi M, Hadi T H. A review of network traffic analysis and prediction techniques[J]. arXiv preprint arXiv:1507.05722, 2015.

–end–

这篇关于网络流量分析与控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/898019

相关文章

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC