首页 > 其他分享 >模拟 DDoS 攻击与防御实验

模拟 DDoS 攻击与防御实验

时间:2024-10-23 10:45:21浏览次数:3  
标签:攻击 sudo -- DDoS 防御 使用 服务器 模拟 LOIC

        模拟 DDoS 攻击与防御实验可以帮助理解攻击原理和防御策略。在进行这种实验时,必须确保在受控、合法的环境中进行,避免对真实网络造成损害。以下是具体步骤:

环境要求
  • 硬件:至少两台计算机(或虚拟机),一台作为目标服务器,一台或多台作为攻击源。
  • 软件
    • Web 服务器(如 Apache、Nginx)在目标机上。
    • 攻击软件(如 LOIC、Hping3、Slowloris)在攻击源上。
    • 防火墙软件(如 iptables、Fail2Ban、Snort)。
    • 监控工具(如 top、htop、nload、Wireshark)。

步骤 1:设置实验环境

  1. 创建虚拟机

    • 使用 VMware 或 VirtualBox 创建三台虚拟机:一台作为 Target Server(目标服务器),一台作为 Attacker(攻击者),一台作为 Monitoring Tool(监控工具)。
  2. 配置网络

    • 所有虚拟机都应在同一个虚拟网络中,确保可以相互通信。
  3. 安装必要软件

    • 在目标服务器上
      • 安装 Apache 或 Nginx
        sudo apt update
        sudo apt install apache2
        
      • 启动 Web 服务器
        sudo systemctl start apache2
        
    • 在攻击者上
      • 安装攻击工具(如 Hping3、LOIC)
        sudo apt install hping3
        # LOIC需要从https://github.com/NewEraCracker/LOIC/releases下载并使用
        
    • 在监控工具上
      • 安装监控工具(如 htop、nload、Wireshark)
        sudo apt install htop nload wireshark
        

步骤 2:基准性能测试

  1. 测试目标服务器性能

    • 使用命令检查服务器是否正常工作:
      curl http://<目标IP>
      
    • 记录响应时间和负载。
  2. 监控资源使用情况

    • 在 Monitoring Tool 上使用 htop 或 nload 查看 CPU 和带宽使用情况。

步骤 3:模拟 DDoS 攻击

方法 1:使用 Hping3
  1. 在攻击者上启动 Hping3 攻击

    sudo hping3 --flood -S -p 80 <目标IP>
    
    • 这会发送大量 SYN 包到目标服务器的 80 端口。
  2. 监控目标服务器响应

    • 在目标服务器上使用 htop 或类似工具监视 CPU 和内存使用情况,记录任何明显的延迟或服务中断。
方法 2:使用 LOIC
  1. 启动 LOIC

    • 如果使用 Windows,可以污点 LOIC 客户端。
    • 输入目标 IP 和端口(默认为 80),点击 “Fire” 开始攻击。
  2. 监控效果

    • 继续监控目标服务器的响应及使用情况。

步骤 4:分析攻击效果

  1. 记录攻击期间的数据
    • 记录目标服务器的响应时间、CPU 使用率和任何出现的错误。
    • 如果服务器崩溃或响应时间显著增加,记录攻击的参数和结果。

步骤 5:实施防御策略

方法 1:配置防火墙(如 iptables)
  1. 限制连接数
    • 在目标服务器上使用 iptables 设置连接限制以防止 DDoS:
      sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW -m limit --limit 10/s --limit-burst 20 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 80 -j DROP
      
方法 2:安装 Fail2Ban
  1. 安装 Fail2Ban

    sudo apt install fail2ban
    
  2. 配置 Fail2Ban 监控 Apache
    在 /etc/fail2ban/jail.local 中添加以下内容:

    [apache]
    enabled  = true
    port     = http,https
    filter   = apache-auth
    logpath  = /var/log/apache2/access.log
    maxretry = 3
    bantime  = 600
    
  3. 启动 Fail2Ban

    sudo systemctl start fail2ban
    
方法 3:使用负载均衡技术
  1. 配置 Nginx 作为反向代理
    sudo apt install nginx
    
    在 /etc/nginx/nginx.conf 中添加负载均衡配置。

步骤 6:重新测试

  1. 再次启动攻击(使用 Hping3 或 LOIC):

    • 记录防御措施实施后的效果,检查 CPU 和服务是否受到影响。
  2. 分析并总结

    • 比较防御策略实施前后的服务器响应。
    • 总结 DDoS 攻击与防御的效果,讨论如何改进防御机制。

最后注意事项

  • 合法性:确保所有实验都在授权的环境中进行,遵循学校或实验室的政策。
  • 受控环境:保证实验环境是隔离的,避免对外部网络造成影响。
  • 数据保护:对实验中使用的任何数据进行保护,确保敏感信息不被泄露。

标签:攻击,sudo,--,DDoS,防御,使用,服务器,模拟,LOIC
From: https://blog.csdn.net/2301_80892630/article/details/143160948

相关文章

  • 计算机网络实验——华为eNSP模拟器常用命令总结
    计算机网络实验——华为eNSP模拟器常用命令总结在进行计算机网络实验时,华为eNSP(EnterpriseNetworkSimulationPlatform)模拟器是一个功能强大的工具,它允许用户模拟和管理虚拟网络设备。通过熟悉并掌握eNSP中的常用命令,我们可以更有效地进行网络配置、故障排查和性能测试。......
  • 信号模拟源参数下发:一帧ROM数据+一帧PN16数据+1000帧AOC数据
    背景:裸数据的封装,通过PCIE通道传输,需要进行封装和提取。白话思路:分别开启模块的使能信号,使用状态机控制其使能的开启,随着地址增加,输出参数值。遇到的几个问题:(1)PN16程序设置使能开启接口(ena_1),ROM自带使能开启接口;(2)状态机的控制信号:地址控制使能的开启;(3)使能信号总是需要提......
  • CSP模拟赛 #42
    #40懒得写了,#41题目质量过低。A有\(n\)张长度为\(m\)的纸条,每张纸条有\(k_i\)个位置有小写字母,其他位置透明。你需要合理从上到下排列这些纸条,使得最终在上方看到的字符串为\(s\),保证对于每个位置,至少一张纸条在该位置有一个字母。给出方案或无解。\(1\len,m\le10^......
  • 梦熊 NOIP 十三连测模拟赛记录
    \(\text{Byhhoppitree.}\)\(\textbf{Round1A.}\)Apair题目大意给定平面直角坐标系上的\(n\)个整点,求任意两个不同的点的曼哈顿距离与欧几里得距离的比的最大值,多组询问。数据范围:\(T\le10,n\le10^5\),\(\texttt{1s/512MB}\)。思路分析考虑我们就是要让连线段的角度......
  • CSP2024 前集训:多校A层冲刺NOIP2024模拟赛11
    前言T1不知道啥是冒泡排序,理解了一会儿题面代码发现是啥意思了于是就签了。后面的题都不是很可做,T2、T4计数,T3高级玩意看不懂。但是T2有点可做,但我的DP不知道哪儿假了,暴力还打挂了,不然加个bitset就操过去了。T1冒泡排序\(i\)只能和\(i+k,i+2k,……\)换,对于每一......
  • 生成对抗网络模拟缺失数据,辅助PAMAP2数据集仿真实验
    PAMAP2数据集是一个包含丰富身体活动信息的数据集,它为我们提供了一个理想的平台来开发和测试HAR模型。本文将从数据集的基本介绍开始,逐步引导大家通过数据分割、预处理、模型训练,到最终的性能评估,在接下来的章节中,我们将详细介绍PAMAP2数据集的特点、数据预处理的关键步骤......
  • 2024.10.22模拟赛反思
    2024.10.22模拟赛反思怎么感觉题目越简单打的越差啊?\(T1\)没什么好说的,\(8\)分钟就做完了。主要问题主要就是在\(T2\)上。其实本来\(10\min\)就想到贪心怎么做了,但是发现直接贪心有点问题,所以就一直在想怎么解决。可能是前几场比赛考的比较难的缘故,我就一直在想能不能用......
  • 2024 信友队 CSP-J 第二轮(复赛)模拟赛
    A火柴#include<cstdio>intcnt[10]={0,1,2,3,3,2,3,4,5,3};charnum[10][10]={"","I","II","III","IV","V","VI","VII","VIII","IX"};......
  • 10.22 模拟赛
    2025--炼石计划--10月16日--NOIP模拟赛#13【订正】-比赛-梦熊联盟复盘T1模拟了一小下就会做了。中间模数写错了(998244353少了个最后的3)调了几亿年。还是很快就切了。T2一眼不可做啊。部分分好像很多,放弃正解做部分分。\(k=1\)显然是给总司令的,输出\(T\)个N......
  • 『模拟赛』多校A层冲刺NOIP2024模拟赛11
    Rank考前不挂就是赢A.冒泡排序签,简单的有点格格不入。发现错误代码实质上是将原序列划分成了若干个连通块,并对每个连通块做一遍排序。并查集维护,\(\mathcal{O(n)}\)扫一遍合并连通块,然后按顺序输出即可。复杂度最坏\(\mathcal{O(n\logn)}\)。点击查看代码#include<b......