思路

通过:netstat查看网络连接数。如果一个IP地址对服务器建立很多连接数(比如一分钟内超过1000次),就认为发生了DDOS

环境搭建

[root@localhost ~]# yum -y install httpd          # 安装Apache
[root@localhost ~]# systemctl start httpd         # 启动Apache
[root@localhost ~]# echo "welcome to shuaiguoer.com" > /var/www/html/index.html       # 输入前端页面内容
[root@localhost ~]# curl 127.0.0.1                # 测试网页是否可以正常访问
welcome to shuaiguoer.com

编写脚本

[root@localhost ~]# vim ddos_test.sh
#!/bin/bash
# DDOS测试
netstat -ntu | awk '{print $5}' | cut -d: -f1 | uniq -c | sort -n

网络状态连接信息 | 输出外网访问IP:端口 | 获取外网访问IP | 获取IP重复的次数 | 排序(从小到大)

测试(模拟DDOS)

ab命令

ab命令:做压力测试的工具和性能的监控工具

语法ab  -n 要产生的链接数总和   -c 同时打开的客户端数量  http://URL

安装ab命令:

# 查询ab命令来自哪个软件包
[root@localhost ~]# rpm -qf `which ab `    # ab命令这个安装apache时,会自动安装上
httpd-tools-2.4.6-90.el7.centos.x86_64     # 如果没有安装,安装httpd-tools即可

模拟DDOS

启动10个客户端对网站首页发起1000次访问

[root@localhost ~]# ab -n 1000 -c 10 http://127.0.0.1/

检测是否受到DDOS攻击

[root@localhost ~]# bash ddos_test.sh
1 Address
1 servers)
1001 127.0.0.1

* 发现一分钟内建立的IP连接数为1001,说明服务器遭受到了DDOS攻击

Last modification:July 23rd, 2020 at 05:08 pm
如果觉得我的文章对你有用,请随意赞赏