网络流量分析与控制

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

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

【软考】希尔排序算法分析

目录 1. c代码2. 运行截图3. 运行解析 1. c代码 #include <stdio.h>#include <stdlib.h> void shellSort(int data[], int n){// 划分的数组,例如8个数则为[4, 2, 1]int *delta;int k;// i控制delta的轮次int i;// 临时变量,换值int temp;in

三相直流无刷电机(BLDC)控制算法实现:BLDC有感启动算法思路分析

一枚从事路径规划算法、运动控制算法、BLDC/FOC电机控制算法、工控、物联网工程师,爱吃土豆。如有需要技术交流或者需要方案帮助、需求:以下为联系方式—V 方案1:通过霍尔传感器IO中断触发换相 1.1 整体执行思路 霍尔传感器U、V、W三相通过IO+EXIT中断的方式进行霍尔传感器数据的读取。将IO口配置为上升沿+下降沿中断触发的方式。当霍尔传感器信号发生发生信号的变化就会触发中断在中断

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等