在软件定义网络中使用机器学习的方法进行 DDOS 攻击检测与缓解--实验

简介: 在软件定义网络中使用机器学习的方法进行 DDOS 攻击检测与缓解--实验

关于该实验的详细介绍请查阅我的这篇博客:在软件定义网络中使用机器学习的方法进行 DDOS 攻击检测与缓解

〇、拉取代码

https://github.com/Jerry-jy/SDN-DDOS-Detection

2bc4ad109d314aa59748c27c8b30eafe.png


一、 配置环境

先升级

sudo apt-get update
sudo apt-get upgrade

再安装如下环境

sudo apt-get install openvswitch-switch
apt-get install mininet
sudo pip3 install ryu
sudo apt install python3-pip
sudo apt-get install iperf
sudo apt-get install hping3
sudo pip3 install numpy
sudo pip3 install sklearn
ovs-vsctl --version

e6cd5ef11a224659bee0f60ca65cbad0.png

ryu-manager --version

b1e62bbf673347a28fed6544652d5ed3.png

mn --version

998d901406d04056a3cb8a17010c5d30.png

iperf --version

2b15be5957124fd5a804ce00d532ed1a.png

hping3 --version

8d1b5350df6d40058fb5954694b8ebba.png

二、 正常流量收集

在topo.py中修改流量的测试类型TEST_TYPE = “normal” TEST_TIME = 600


ef69f6770ea04efcb45d87c39f8777d9.png

启动控制器ryu-manager controller.py

8bfdbc0561644f73a9ff22742c2fd38a.png

启动网络拓扑sudo python topo.py

5f064c344ab548d3bae477bfe163cf8a.png

控制器接受到正常流量:

6568b73f91ab4811b219ece93c892ace.png

三、攻击流量数据

在controller.py文件中修改APP TYPE=0TEST TYPE=1

03129432015e4124b14b0fa5eeed91e7.png

在topo.py文件中修改TEST TYPE=attackTEST TIME=600

a3cfc4450c784995baeea0b7936c873f.png



清理网络拓扑sudo mn -c


5f415e9cc5714ff3b327fb6d3450dbf0.png

启动控制器ryu-manager controller.py

8cdb16c78b5c457c93443a8199d977f5.png

启动拓扑sudo python topo.py

b259c2db3c104deab0444df25c47f65a.png

控制器接收到的异常流量

b259c2db3c104deab0444df25c47f65a.png



四、DDoS攻击检测与缓解

4.1 正常流量的检测

在controller.py文件中修改APP TYPE=1

c6ef21b4d9044a06b189bf6ceab76dc6.png

在topo.py文件中修改TEST TYPE= normalTEST TIME=300

6aa81b58a4814f4ab4830d0bed7752d3.png

清理拓扑sudo mn -c


87432a71b92f4ce399ee7b3ca4e8b744.png

启动控制器ryu-manager controller.py

05a1071ae11a48b4b9303978f1e7ab9c.png

启动拓扑sudo python topo.py

7be66d58a7c24aaa961ec6b835ea6bb9.png

控制器和SVM进行预测:为正常流

8751204d2a5b4926b25a56a3944e37c9.png

4.2 攻击流量的检测与缓解

在topo.py文件中修改TEST TYPE= attackTEST TIME=300

a928d5b611734533abb07ab1b7c5fb1d.png

清理拓扑sudo mn -c


f20dd957a194433bbdd321deb259e243.png

启动控制器ryu-manager controller.py

8457d87516eb432897112eaeda23078b.png

启动拓扑sudo python topo.py


4baefcd65cb14737b30aab316a8ff9a2.png

控制器和SVM进行预测:为异常流,就会阻塞该端口防止异常流的攻击,其余流量就会被预测为正常流,端口的阻塞时间为2分钟,2分钟后不再阻塞,如果该端口继续检测到异常流的攻击,就再次阻塞


a6b6bed8d4c6497b9a529cc7d74c3437.png

五,精准度和检测率

0e90adc423c94a4eb6fec75bc754eb07.png

图形化显示

pip3 install mlxtend


3ca064fc10af4afea68802cf6309d6f6.png


e50d591b2369469788ad79760feb71ac.png


c32d8e34bb274b0894d8b7a258ed24a4.png

相关文章
|
11月前
|
存储 运维 API
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
210 1
|
8月前
|
机器学习/深度学习 数据采集 算法
量子机器学习入门:三种数据编码方法对比与应用
在量子机器学习中,数据编码方式决定了量子模型如何理解和处理信息。本文详解角度编码、振幅编码与基础编码三种方法,分析其原理、实现及适用场景,帮助读者选择最适合的编码策略,提升量子模型性能。
659 8
|
7月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
330 4
|
7月前
|
机器学习/深度学习 人工智能 监控
上海拔俗AI软件定制:让技术真正为你所用,拔俗网络这样做
在上海,企业正通过AI软件定制破解通用化难题。该模式以业务场景为核心,量身打造智能解决方案,涵盖场景化模型开发、模块化架构设计与数据闭环优化三大技术维度,推动技术与业务深度融合,助力企业实现高效、可持续的数字化转型。
250 0
|
监控 数据可视化 Linux
Cisco Nexus Dashboard 4.1(1g) 发布 - 云和数据中心网络管理软件
Cisco Nexus Dashboard 4.1(1g) - 云和数据中心网络管理软件
321 0
|
11月前
|
机器学习/深度学习 存储 运维
机器学习异常检测实战:用Isolation Forest快速构建无标签异常检测系统
本研究通过实验演示了异常标记如何逐步完善异常检测方案和主要分类模型在欺诈检测中的应用。实验结果表明,Isolation Forest作为一个强大的异常检测模型,无需显式建模正常模式即可有效工作,在处理未见风险事件方面具有显著优势。
903 46
|
9月前
|
算法 安全 网络安全
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
336 0
|
9月前
|
存储 监控 Linux
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
239 0
|
10月前
|
存储 监控 算法
基于 Python 跳表算法的局域网网络监控软件动态数据索引优化策略研究
局域网网络监控软件需高效处理终端行为数据,跳表作为一种基于概率平衡的动态数据结构,具备高效的插入、删除与查询性能(平均时间复杂度为O(log n)),适用于高频数据写入和随机查询场景。本文深入解析跳表原理,探讨其在局域网监控中的适配性,并提供基于Python的完整实现方案,优化终端会话管理,提升系统响应性能。
263 4
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
719 14