网络流量分析与控制

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迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.