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

news2025/1/11 15:00:07

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

  • 〇、拉取代码
  • 一、 配置环境
  • 二、 正常流量收集
  • 三、攻击流量数据
  • 四、DDoS攻击检测与缓解
    • 4.1 正常流量的检测
    • 4.2 攻击流量的检测与缓解
  • 五,精准度和检测率

申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟
更多学习内容, 欢迎关注我的个人公众号:不懂开发的程序猿

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

〇、拉取代码

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

在这里插入图片描述

一、 配置环境

先升级

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

在这里插入图片描述

ryu-manager --version

在这里插入图片描述

mn --version

在这里插入图片描述

iperf --version

在这里插入图片描述

hping3 --version

在这里插入图片描述

二、 正常流量收集

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

在这里插入图片描述

启动控制器ryu-manager controller.py

在这里插入图片描述

启动网络拓扑sudo python topo.py

在这里插入图片描述

控制器接受到正常流量:
在这里插入图片描述

三、攻击流量数据

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

在这里插入图片描述

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

在这里插入图片描述

清理网络拓扑sudo mn -c

在这里插入图片描述

启动控制器ryu-manager controller.py

在这里插入图片描述
启动拓扑sudo python topo.py

在这里插入图片描述

控制器接收到的异常流量

在这里插入图片描述

四、DDoS攻击检测与缓解

4.1 正常流量的检测

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

在这里插入图片描述

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

在这里插入图片描述

清理拓扑sudo mn -c

在这里插入图片描述

启动控制器ryu-manager controller.py
在这里插入图片描述

启动拓扑sudo python topo.py

在这里插入图片描述

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

在这里插入图片描述

4.2 攻击流量的检测与缓解

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

在这里插入图片描述
清理拓扑sudo mn -c

在这里插入图片描述
启动控制器ryu-manager controller.py

在这里插入图片描述

启动拓扑sudo python topo.py

在这里插入图片描述

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

在这里插入图片描述

五,精准度和检测率

在这里插入图片描述

图形化显示

pip3 install mlxtend

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

–end–

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Existence theorem

In mathematics, an existence theorem is a theorem which asserts the existence of a certain object.[1] It might be a statement which begins with the phrase “there exist(s)”, or it might be a universal statement whose last quantifier is existential (e.g., …

ADI Blackfin DSP处理器-BF533的开发详解22:SD卡的设计和实现原理及应用(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 ADSP-EDU-BF53x 板卡上设计了一个 SD/MMC 接口,可以通过该接口实现对 SD/MMC 卡数据的访问。 SD 卡有两种工作模式&#x…

C#使用 Async 和 Await 的异步编程

总目录 文章目录总目录前言一、概述二、命名规范三、await/async的作用四、基本使用五、使用Async和Await实现多任务顺序执行且不阻塞1.同步执行2.并行执行3.并行且可指定顺序执行总结前言 C# 中的 Async 和 Await 关键字是异步编程的核心。 通过这两个关键字,可以…

spring依赖查找、依赖注入深入学习及源码分析

文章目录一、依赖查找1、单一类型依赖查找(接口 - BeanFactory)根据Bean名称查找根据Bean类型实时查找根据Bean类型延迟查找(Spring 5.1)根据Bean名称类型查找2、集合类型依赖查找(接口 - ListableBeanFactory&#xf…

Metal每日分享,颜色转换滤镜效果

本案例的目的是理解如何用Metal实现像素颜色转换滤镜,通过对像素颜色的不同读取方式获取到相应像素颜色,灰度图移除场景中除了黑白灰以外所有的颜色,让整个图像灰度化; Demo HarbethDemo地址 实操代码 // 转成灰度图滤镜 let f…

js深拷贝浅拷贝与lodash

title: js深拷贝浅拷贝与lodash date: 2022/9/27 14:46:25 categories: lodashjs入门 深拷贝和浅拷贝 ref:JS传递参数时的内部存储逻辑 JS 變數傳遞探討:pass by value 、 pass by reference 還是 pass by sharing? 在这个问题前&#xff…

LeetCode HOT 100 —— 169.多数元素

题目 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 思路 方法一:哈希表 遍历整个数组,记录每个数值出…

JAVA IO详解

目录 一、流的概念与作用 二、Java IO的用途和特征 三、流的使用详解 一、流的概念与作用 流(Stream): 在Java IO中,流是一个核心的概念。流从概念上来说是一个连续的数据传输过程。人们根据数据传输特性将流抽象为各种类,方便更直观的进…

【服务器数据恢复】服务器raid5崩溃导致上层应用不可用的数据恢复案例

服务器数据故障: 某公司服务器8块硬盘组成raid5磁盘阵列,其中有2块硬盘故障指示灯报警,其他硬盘指示灯正常,上层应用不可用。 服务器数据恢复过程: 1、服务器数据恢复工程师拿到故障服务器所有硬盘后对出现物理故障的…

ADI Blackfin DSP处理器-BF533的开发详解18:用触摸屏的例程来理解中断(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 硬件实现原理 ADSP-EDU-BF533 开发板上的中断资源连接到了 CPLD,并通过 CPLD 将中断信号连接到 PF0 触发,通过 CPLD映射的…

ubuntu交叉编译(armv7_32位)onnx源码_cpu版本

1 下载onnx git clone https://github.com/microsoft/onnxruntime cd onnxruntime git submodule update --init --recursive2 编译 由于是交叉编译,所以需要设置一下编译工具,在网上搜索看到了这个 chineseocr_lite/build-onnxruntime-android.sh a…

Jmeter(一):jmeter概述与工作原理,安装与基本配置介绍

Jmeter(1):jmeter概述与工作原理 jmeter概述与工作原理 JMeter 是 Apache 基金会 Jakarta 上的一个纯 Java 开源项目,起初用于基 于 Web 的压力测试(pressure test),后来其应用范围逐渐扩展到对文件传输 FTP, 大型数据…

基于JavaWeb+JSP的校园二手交易平台(源码+数据库+说明文档)

目录 一、前后端功能模块 1.用户web前端页面功能模块 2.后台信息管理模块 二、开发环境 三、开发技术 四、页面设计 1.登录注册界面 2.网页主页界面 3.商品列表界面 4.商品详情界面 5.支付页面 6.支付成功后页面 7.我的订单页面 ​8.个人已发布与待处理订单界面…

google外链重要性高吗?谷歌外链作用大不大

google外链重要性高吗? 答案是:非常重要,而且要注重建设付费GPB外链。 要相信有价值的外链一般都比较难获取,那种高流量的外链一般要靠自己去outreach, 但是成功率比较低,我们需要用金钱和优质外链资源去交换 做高质…

程序员的浪费,Python一对一还原《点燃我,温暖你》里面比较火的那个爱心代码 | 附源码

前言 包子们,上午好 最近有个剧挺火的 就是那个程序员的剧,叫《点燃我,温暖你》 最近听说很火呀,那作为程序员,Python中的战斗机的小编,能不给大家安排一波! 怎么说呢,用这个表白也…

我凭借这 1000 道 java 真题,顺利拿下京东、饿了么、阿里大厂 offer

今天这篇文章也算是一次面试总结了吧! 毕竟金九银十过去了,总得给大家来点东西交代交代! 所以今天,这篇文章就应运而生了,给大家来点正正经经的干货教学,让大家体验一下干货的魅力! 小编今天这里…

【C语言数据结构(基础篇)】第一站:时间复杂度与空间复杂度

目录 一、什么是时间复杂度和空间复杂度 1.算法效率 2.时间复杂度的概念 3.空间复杂度的概念 二、如何计算常见的时间复杂度 1.大O的渐进表示法 2.一些时间复杂度的例子 (1)例1 (2)例2 (3)例3 (4)例4 (5&a…

【计算机视觉+自动驾驶】二、多任务深度学习网络并联式、级联式构建详细讲解(图像解释 超详细必看)

觉得有帮助麻烦点赞关注收藏~~~ 一、多任务网络的主要分类 目前建立的多任务网络可以分为两种方法,一种为并联多任务网络结构,另一种为级联多任务网络结构,两种网络构建方式分别如下图所示 并联式 级联式 并联网络结构大多为共享基础网络而…

ADI Blackfin DSP处理器-BF533的开发详解14:LED跑马灯(含源代码)

接口讲完了,下面写点应用程序,GPIO最典型的应用,LED跑马灯。 硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 *硬件实现原理 ADSP-EDU-BF533开发板上共设计了…

2005-2020年全国31省劳动力市场分割指数

2005-2020年全国31省劳动力市场分割指数 1、时间:2005-2020年 2、范围:包括全国31省, 3、数据内容:数据存在缺失,下载链接界面有数据预览,具体缺失情况参看链接内数据预览, 内含原始数据、A…