网络安全 - DDoS 攻击原理 + 实验

news2024/11/30 2:35:09

DDoS 攻击

什么是 DDoS 进攻

D D o S \color{cyan}{DDoS} DDoS(Distributed Denial of Service,分布式拒绝服务)攻击是一种通过多个计算机系统同时向目标系统发送大量请求,消耗其资源,使其无法正常服务的攻击方式。DDoS 攻击通常利用受感染的僵尸网络(botnet),由攻击者远程控制多个受感染的计算机同时发起攻击。

为什么使用 DDoS 进攻

  1. 破坏目标系统服务

    ​ 攻击者通过 DDoS 攻击可以使目标系统无法响应正常用户的请求,从而造成服务中断。这在攻击竞争对手的网站或服务时尤为常见。

  2. 掩盖其他攻击行为

    ​ DDoS 攻击有时用作分散注意力的手段,攻击者在进行数据窃取、注入恶意软件或其他恶意活动时,会使用 DDoS 攻击掩盖其主要目的。

  3. 勒索和敲诈

    ​ 攻击者可以通过 DDoS 攻击对企业或组织进行勒索,要求支付赎金以停止攻击。

  4. 测试系统的抗压能力

    ​ 企业或组织也可能进行自发的 DDoS 测试,以评估其网络和系统的抗压能力,从而改善安全防护措施。

DDoS 攻击的工作机制

  1. 攻击者控制僵尸网络

    ​ 攻击者通常通过恶意软件感染大量计算机,形成一个僵尸网络(Botnet)。这些被感染的计算机被称为 “僵尸主机”,受攻击者远程控制。

  2. 指令分发

    ​ 攻击者通过指挥控制服务器(C&C 服务器)向僵尸网络中的僵尸主机发送攻击指令。这些指令包含目标的 IP 地址、攻击方式和攻击时间等信息。

  3. 发动攻击

    ​ 僵尸主机接收到指令后,会同时向目标系统发送大量的请求包。这些请求包可以是任意类型的流量,如 HTTP 请求、TCP SYN 包或 UDP 包等。

  4. 资源耗尽

    ​ 目标系统接收到大量请求后,会消耗其网络带宽、CPU、内存等资源,最终导致系统无法正常响应用户请求,甚至完全瘫痪。

DDoS 攻击实验

实验目的

本实验旨在演示和验证分布式拒绝服务(DDoS)攻击的实现过程,理解其工作原理及其对目标主机的影响。通过实验,进一步探讨 DDoS 攻击的防御方法和相关网络安全措施。

实验环境
  • 两台主机:
    • 被攻击主机(Windows/Linux)
    • 攻击者主机(Kali Linux)
实验步骤
1、安装并配置 hping3
  • 在 Kali Linux 上安装 hping3 工具:

    apt-get install hping3 -y
    
2、进行 TCP Flood 攻击
  • 使用 hping3 工具向目标主机(例如,IP 地址为 192.168.100.142)发送大量的 TCP 请求包。

    sudo hping3 -S --flood -V 192.168.100.135
    

    -S:发送带有 SYN 标志的 TCP 包

    --flood:高速发送包,尽量不显示发送的包

    -V:显示详细的发送信息

3、观察攻击效果
  • 在目标主机上,观察其服务是否受到干扰。可以通过以下方式进行观察:

    • 使用任务管理器查看 CPU 和网络使用情况。
    • 尝试访问目标主机提供的服务(如 Web 服务、文件共享等),观察其响应速度和可用性。
  • 被攻击前的被攻击机的 CPU 和网络使用情况:

    请添加图片描述

  • 被攻击后的被攻击机的 CPU 和网络使用情况:

请添加图片描述

  • 启动 Wireshark:

    在 Kali Linux 上启动 Wireshark 并选择合适的网络接口,开始抓包。

请添加图片描述

  • 选择合适的网络接口,开始捕获数据包。

    检查网卡信息

      ifconfig	
    

请添加图片描述

请添加图片描述

  • 出现大量包含 SYN 的 TCP 包


    请添加图片描述

4、分析攻击效果和防御方法
  1. 攻击效果

    • 在进行 DDoS 攻击期间,目标主机的 CPU 和网络资源可能被大量占用,导致正常服务响应变慢甚至不可用。
    • 通过 Wireshark 等抓包工具,可以观察到大量来自攻击者主机的 SYN 包,表明目标主机正遭受 SYN Flood 攻击。
  2. 防御方法

    • 启用 SYN Cookies

      在 linux 服务器上启用 SYN Cookies,可以有效防御 SYN Flood 攻击。

      sysctl -w net.ipv4.tcp_syncookies=1
      
      • sysctl: 这是一个用于在运行时动态调整内核参数的实用程序。通过 sysctl 命令,可以查看、设置和修改Linux系统的内核参数。
      • -w: 这是 sysctl 命令的一个选项,表示要设置内核参数的值。
      • net.ipv4.tcp_syncookies: 这是一个 Linux 内核参数,用于启用或禁用 TCP SYN cookies。TCP SYN cookies 是一种防范 SYN 洪水攻击的技术,当系统遭受SYN 洪水攻击时,可以使用 TCP SYN cookies 来防止资源耗尽。
      • 1: 这个值表示要将 net.ipv4.tcp_syncookies 参数设置为 1 ,即启用 TCP SYN cookies。启用 TCP SYN cookies 后,系统可以更有效地处理来自未建立连接的客户端的 TCP 连接请求,从而提高系统的抗 SYN 洪水攻击能力。
    • 配置防火墙

      在 linux 服务器使用 iptables 等防火墙工具,限制每个 IP 地址的连接速率。

      iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
      iptables -A INPUT -p tcp --syn -j DROP
      
      • iptables: 表示调用 iptables 防火墙程序。
      • -A INPUT: 将规则添加到 INPUT 链,即用于处理传入数据包的链。
      • -p tcp: 指定要匹配的数据包协议为 TCP。
      • --syn: 表示匹配 TCP 协议中的 SYN 标志,即 TCP 三次握手中的第一个包。
      • -m limit --limit 1/s: 使用 limit 模块来限制匹配规则的速率,这里限制每秒最多匹配 1 个数据包。
      • -j ACCEPT: 表示如果数据包匹配规则,则接受该数据包。
      • -j DROP: 表示如果数据包匹配规则,则丢弃该数据包。
    • 使用DDoS防护服务

      部署专业的 DDoS 防护服务,如 Cloudflare、Akamai 等,提供流量清洗和分布式防护。

5、分析与讨论
  • DDoS攻击原理

    ​ DDoS 攻击通过向目标主机发送大量请求,耗尽其资源,使其无法响应正常用户的请求。TCP Flood 攻击是常见的 DDoS 攻击之一,通过发送大量的 TCP SYN 包,占用目标主机的连接表资源。

  • 流量分析

    ​ 通过 Wireshark 抓包可以看到,攻击期间,目标主机收到大量的 SYN 包,这些包的源地址可能是伪造的,目的在于消耗目标主机的资源。

  • 防御措施

    ​ 启用 SYN Cookies 和配置防火墙规则是有效的防御方法。专业的 DDoS 防护服务能够提供更高级的防护措施,如流量清洗和分布式防护。

6、实验反思
  • 实验过程中的挑战

    ​ 在实验过程中,需要确保 hping3 工具正确安装和配置,同时需要在目标主机上有效监控资源使用情况。这要求对网络环境和工具使用有较高的理解和掌控能力。

  • 实验效果评估

    ​ 通过本次实验,可以直观地理解 DDoS 攻击的原理和实施方法,同时也认识到这些攻击手段的危险性和潜在危害。

  • 安全防护意识

    ​ 通过实验,可以更加深刻地认识到网络安全的重要性,了解各种防御措施的必要性和实施方法,提高网络安全防护意识。

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

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

相关文章

后端高频面试题分享-用Java判断一个列表是否是另一个列表的顺序子集

问题描述 编写一个函数,该函数接受两个列表作为参数,判断第一个列表是否是第二个列表的顺序子集,返回True或False。 要求 判断一个列表是否是另一个列表的顺序子集,即第一个列表的所有元素在第二个列表需要顺序出现。列表中的元…

Linux常用命令及或g++(或gcc)编辑器运用

一. 实验内容 1.打开VMware Workstation虚拟机进入Ubuntu系统,打开终端。 练习使用常用的Linux命令,主要包括如下命令: mkdir, rmdir, cd, pwd, ls, clear, cat, rm等。(其中,cat、rm命令请在下面实验内容3…

Navicat和SQLynx产品功能比较二(SQL查询)

数据库管理工具最常用的功能就是SQL的查询,没有之一。本文针对Navicat和SQLynx做了SQL查询相关的性能测试,从测试结果来看,Navicat主要适合开发类的小型数据量需求,SQLynx可以适应大型数据量或小型数据量的需求,用户可…

python-基础篇-函数-是什么

文章目录 定义一:如果在开发程序时,需要某块代码多次执行。为了提高编写的效率以及更好的维护代码,需要把具有独立功能的代码块组织为一个小模块,这就是函数。定义一:我们把一些数据喂给函数,让他内部消化&…

政安晨【零基础玩转各类开源AI项目】解析开源:Stable Diffusion 3 论文及用户界面工具 StableSwarmUI

目录 关键成果 性能 结构细节 通过重新配重改善整形流量 比例整形变换模型 灵活的文本编码器 使用模型:StableSwarmUI 开源项目的现状: 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 零基础玩转各类开源AI…

重生奇迹mu魔剑士简介

出生地:勇者大陆 性 别:男 擅 长:近距离作战、武器特技&攻击魔法使用 转 职:剑圣(3转) 介 绍:当玩家账号中有一个220级以上的角色时,便可以创建职业为魔剑士的新角色&#x…

关于element-plus中el-select自定义标签及样式的问题

关于element-plus中el-select自定义标签及样式的问题 我这天天的都遇到各种坑,关于自定义,我直接复制粘贴代码都实现不了,研究了一下午,骂骂咧咧了一下午,服气了。官网代码实现不了,就只能 “ 曲线救国 ”…

AI大模型爆发,你还不学就晚了!抓住时代机遇,快速入门指南!

AI大模型风起云涌,你准备好乘风破浪了吗? 在一个阳光明媚的午后,小李坐在自己的工位上,眼前的代码如同繁星般繁多。他是一名资深的软件工程师,但在最近的技术浪潮中,他却感到了一丝不安。他的朋友圈里&…

SAP Build 2-PDF数据提取与决策

0. 安装desktop agent 在后续过程中发现要预先安装desktop agent,否则没法运行自动化流程… 0.1 agent下载 参考官方文档说明 https://help.sap.com/docs/build-process-automation/sap-build-process-automation/create-user-in-rbsc-download-repository?loca…

numpy创建维数组

一,numpy创建一维数组 1.1.np.array() # 创建一维数组 anp.array([1,2,3,4,5]) print(a) 1.2.np.arange() # 创建等差数组 bnp.arange(0,6,2) print(b) 1.3.np.linspace() #生成10个数,范围为[1,10],满足等差数列 y,cnp.linspace(1,2,3,end…

电商领域利器来了!港大阿里联合提出MimicBrush,对参考图模仿进行零样本图像编辑,万物皆可编辑。

阿里和港大提出的MimicBrush可以通过对参考图模仿进行零样本图像编辑。将一张图片的某一部分融合到领一张图片上去。用在电商商品展示上或者单纯的图片编辑和内容迁移很有用。从官方演示来看效果也很好。 MimicBrush,它会随机选择视频剪辑中的两帧,遮盖其…

远程桌面端口,远程桌面改端口有哪些方法

方法一:通过修改注册表 步骤一:打开注册表编辑器 按下 Windows键R 打开“运行”对话框。输入 regedit 并按 Enter 打开注册表编辑器。 步骤二:定位到远程桌面服务的端口设置 导航至第一个注册表路径:HKEY_LOCAL_MACHINE\SYSTE…

RabbitMQ安装配置,封装工具类,发送消息及监听

1. Get-Started docker安装rabbitmq 拉取镜像 [rootheima ~]# docker pull rabbitmq:3.8-management 3.8-management: Pulling from library/rabbitmq 7b1a6ab2e44d: Pull complete 37f453d83d8f: Pull complete e64e769bc4fd: Pull complete c288a913222f: Pull complet…

VD1011 单节锂离子充电电池保护 2.8V过放保护 SOT-23小封装芯片

VD1011,内置高精度电压检测电路和延迟电路以及内置MOSFET,是用于单节锂离子/锂聚合物可再充电 电池的保护IC。 本IC适合干对1节锂离子/锂聚合物可再充电电池的过充电、过放电和过电流进行保护。 VD1011具备如下特点 高精度电压检测电路 过充电检测电压 …

PyTorch计算机视觉入门:使用自己的数据集训练神经网络

前言 计算机视觉,作为人工智能领域的一个重要分支,近年来在图像识别、物体检测、图像生成等应用上取得了显著的进步。PyTorch,作为一款灵活且强大的深度学习框架,为开发者提供了便捷的工具来构建和训练计算机视觉模型。本文将指导…

【面试干货】ArrayList、Vector、LinkedList的存储性能和特性比较

【面试干货】ArrayList、Vector、LinkedList的存储性能和特性比较 1、ArrayList1.1 存储性能1.2 特性1.3 示例用法 2、Vector2.1 存储性能2.2 特性2.3 示例用法 3、LinkedList3.1 存储性能3.2 特性3.3 示例用法 4、ArrayList、Vector、LinkedList用法总结 💖The Beg…

如何在 Windows 10/11 上编辑 PDF [4 种简单方法]

PDF 在大多数设备上都易于查看,但由于其设计用于查看,因此编辑起来可能比较棘手。编辑 PDF 可能比编辑 Microsoft Office 文档更具挑战性。 不用担心,我们已经为你做好了准备。无论你是想添加、删除还是插入文本或图片,你都可以使…

操作系统复习-线程同步

互斥量 两个线程的指令交叉执行互斥量可以保证先后执行称为原子性 原子性是指一系列操作不可被中断的特性这一系列操作要么全部执行完成,要么全部没有执行不存在部分执行部分未执行的情况 互斥锁 互斥量是最简单的线程同步的方法互斥锁,处于两态之一的…

环保绩效评级:ABCD四个等级,你的企业处于哪个水平?

在当下社会,环保问题越来越受到人们的关注和重视。企业作为经济活动的重要参与者,其环保绩效评级直接关系到环境保护的成效。朗观视觉将详细解析环保绩效评级的ABCD四等级,帮助读者了解不同等级的特点和评判标准,进而引导企业提高…

利用钉钉机器人和PHP开发一款免费的网站可用性检测工具,单节点版

前言 手里有几套系统正在运维&#xff0c;需要保障正常运行&#xff0c;所以可用性检测就必不可少啦&#xff0c; 以前本来是用的阿里官方的云监控&#xff0c;但现在价格感觉太贵了&#xff0c;不划算 那就自己手搓一个简易版的监控吧。 成品效果展示 代码展示 <?php …