网络流量分析与控制

⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计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–

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/537661.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯——与或异或

题目 分析 很明显的DFS题&#xff0c;这里关键要找到边界&#xff0c;即x与y的关系&#xff0c;容易知道y<4-x&#xff0c;小于和等于是不同的搜索&#xff0c;小于的话就在同一行搜索&#xff0c;从下一列搜索&#xff0c;等于的话就从下一行的第一个搜索。 代码 num[[0…

ChatGPT 人工智能助手为你定制测试计划,精准又高效!

简介 测试计划是指描述了要进行的测试活动的范围、方法、资源和进度的文档。它主要包括测试项、被测特性、测试任务、谁执行任务和风险控制等。 所以在使用ChatGPT输出结果之前&#xff0c;我们需要先将文档的内容框架梳理好&#xff0c;以及将内容范围划定好&#xff0c;必要…

基于SpringBoot+Vue的咖啡商城(带文档)

项目介绍: 基于SpringBootVue的咖啡商城&#xff08;带文档&#xff09; 网上咖啡商城系统&#xff0c;咖啡商城系统 前后端分离&#xff0c;Java开发&#xff0c;Vue框架&#xff0c;Redis分布式缓存&#xff0c;MyBatis 运行环境&#xff1a;JDK1.8MySQLMavenRedisNode.js 项…

【Next】错误处理和并行路由

错误处理 error.tsx 文件约定处理 嵌套路由 中意外的运行时错误。将错误隔离到受影响的段&#xff0c;同时保持应用的其余部分正常运行。 app/dashboard/error.tsx use client export default function Error({error,reset}: {error: Error,reset: () > void }) {return …

Ansys Zemax | 如何将光栅数据从Lumerical导入至OpticStudio(下)

附件下载 联系工作人员获取附件 本文介绍了一种使用Ansys Zemax OpticStudio和Lumerical RCWA在整个光学系统中精确仿真1D/2D光栅的静态工作流程。将首先简要介绍方法。然后解释有关如何建立系统的详细信息。 本篇内容将分为上下两部分&#xff0c;上部将首先简要介绍方法工作…

Linux-select剖析

一、select函数 select函数是IO多路复用的函数&#xff0c;它主要的功能是用来等文件描述符中的事件是否就绪&#xff0c;select可以使我们在同时等待多个文件缓冲区 &#xff0c;减少IO等待的时间&#xff0c;能够提高进程的IO效率。 select()函数允许程序监视多个文件描述符…

安卓一键logo设计工具_V3.6.9.1 高级版

【分析】&#xff1a;LOGO设计软件&#xff0c;可以一键生成无版权的网站LOGO等等。 网盘自动获取 链接&#xff1a;https://pan.baidu.com/s/1lpzKPim76qettahxvxtjaQ?pwd0b8x 提取码&#xff1a;0b8x

页回收机制

申请分配物理页的时候&#xff0c;页分配器首先尝试使用低水线分配页&#xff1b;如果使用低水线分配失败&#xff0c;说明内存轻微不足&#xff0c;页分配器将会唤醒内存节点的页回收内核线程&#xff0c;异步回收页&#xff0c;然后尝试使用最低水线分配页&#xff1b;如果使…

数字图像处理系列 | 像素处理 (1)

文章目录 1. 图片的公式定义2. 像素处理图片示例变暗变亮颜色反转低对比度高对比度三通道的彩色图变灰色 1. 图片的公式定义 下面的图片是一个灰度图&#xff0c;这张图片只有一个通道&#xff0c;每一点&#xff0c;都是这个地方的亮度 f(x,y) 就是 (x,y) 这点的亮度值 如果…

【进阶篇】二、实现Java Agent的静态加载和动态加载

文章目录 1、Java Agent2、两种加载模式静态加载模式动态加载模式 3、静态加载模式实现4、动态加载的实现 1、Java Agent 通过Java Agent&#xff0c;生成一种特殊的jar包&#xff08;一种工具&#xff09;&#xff0c;业务程序可以主动去调用jar包里的方法。比如下面这个有打…

C++设计模式|创建型 1.单例模式

1.什么是单例模式&#xff1f; 单例模式的的核⼼思想在创建类对象的时候保证⼀个类只有⼀个实例&#xff0c;并提供⼀个全局访问点来访问这个实例。 只有⼀个实例的意思是&#xff0c;在整个应⽤程序中&#xff0c;只存在该类的⼀个实例对象&#xff0c;⽽不是创建多个相同类…

WPS二次开发系列:Gradle版本、AGP插件与Java版本的对应关系

背景 最近有体验SDK的同学反馈接入SDK出现报错&#xff0c;最终定位到原因为接入的宿主app项目的gradle版本过低导致&#xff0c;SDK兼容支持了android11的特性&#xff0c;需要对应的gradle插件为支持android11的版本。 现象 解决方案 将gradle版本升级至支持android11的插件版…

openGauss_5.0.1 企业版安装及问题记录(CentOS系统):主备模式服务器安装

目录 &#x1f4da;第一章 官方地址&#x1f4d7;安装包下载地址&#x1f4d7;文档指南 &#x1f4da;第二章 安装&#x1f4d7;准备工作&#x1f4d7;开始安装&#x1f4d5;创建XML配置文件&#x1f4d5;初始化安装环境&#x1f4d5;执行安装&#x1f4d5;验证 &#x1f4da;第…

volta(轻松切换管理Node.js版本)

Node.js版本管理 Volta提供了一个简单直观的命令行界面&#xff0c;可以轻松地安装、卸载、更新和切换Node.js版本。 Volta 既可以全局使用&#xff0c;也可以在项目级别使用&#xff0c;可以为每个项目单独设置node版本&#xff0c;nvm不行。 下载安装Volta 参考&#xff1a; …

vue3 依赖-组件tablepage-vue3说明文档,列表页快速开发,使用思路及范例(Ⅲ)列表项及分页器配置及props配置

vue3 依赖-组件tablepage-vue3说明文档&#xff0c;列表页快速开发&#xff0c;使用思路及范例&#xff08;Ⅰ&#xff09;配置项文档 vue3 依赖-组件tablepage-vue3说明文档&#xff0c;列表页快速开发&#xff0c;使用思路及范例&#xff08;Ⅱ&#xff09;搜索及数据获取配…

基于SpringBoot的冬奥会科普平台

基于SpringBoot的冬奥会科普平台系统设计与实现 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发…

pip install opencv-python出现ModuleNotFoundError: No module named ‘skbuild‘错误解决方案

问题描述 File “”, line 1, in File “/tmp/pip-build-o148qsmj/opencv-python/setup.py”, line 10, in from skbuild import cmaker, setup ModuleNotFoundError: No module named ‘skbuild’ Command “python setup.py egg_info” failed with error code 1 in /tmp…

Java入门-数组

数组 什么是数组 数组( array )是一种最简单的复合数据类型&#xff0c;它是有序数据的集合&#xff0c;数组中的每个元素具有相同的数据类型&#xff0c;可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。 数组的内存结构是分配一系列内存大小相等的连续空间。 …

Vue 引入config.js后别的js访问不到window对象下的属性

Vue项目里,我们项目配置的请求服务器地址都是在public里config.js里,如下例: 然后在index.html里引入config.js,如下图: 这里要注意的是,script的src要写上<%= BASE_URL %>,代码如下: <!DOCTYPE html> <html><head><meta charset="…

SNRO 编号范围对象管控,唯一ID

事务代码:SNRO 代码引用: DATA: MAXTID TYPE I,NEWNO TYPE CHAR8. CALL FUNCTION NUMBER_RANGE_ENQUEUE EXPORTING OBJECT ZQC57 EXCEPTIONS FOREIGN_LOCK 1 OBJECT_NOT_FOUND 2 SYSTEM_FAILURE 3 OTHERS …