功能: 对于 DDoS 攻击与监控, 可以安装 Grafana+Prometheus 软件, 用它们对 DDoS 攻击进行图形化的展示.
本教程分成下列几个部分:
A:攻击者 B:被攻击者
1.B安装并运行 Prometheus (端口 9090)
2. B安装并运行 Grafana (端口 3000)
3. B安装并运行 Pushgateway (端口 9091)
4. B新建信息收集脚本 pushgateway.sh 并运行
5. B并启动 apache (目的是有一个 http 的 80 监听端口, 等待对方攻击 )
6. 在A中运行 hping3 攻击指令 , 攻击B的 80 端口
一. 安装prometheus(普罗米修斯)
1. 打开官网 https://prometheus.io/download/ 会有下列下载链接:
2. 将 prometheus-2.18.1.linux-amd64.tar.gz 从本机上传至 /opt 里
3. cd /opt
4. 解压压缩包到 /usr/local 下: tar xf prometheus-2.18.1.linux-amd64.tar.gz -C /usr/local/
5. 修改目录: mv /usr/local/prometheus-2.18.1.linux-amd64 /usr/local/prometheus
6. 运行 prometheus: cd /usr/local/prometheus; ./prometheus (窗口不关)
7. 打开另外一个窗口, 也以 root 登录, 查看 9090 端口是否处于被监听状态: lsof -i:9090
8.打开浏览器访问,下图为普罗米修斯主界面
二. 安装grafana
1. wget https://dl.grafana.com/oss/release/grafana_6.7.3-1_amd64.deb
2. yum install grafana-6.7.3-1.x86_64.rpm
3. systemctl start grafana-server
4. systemctl enable grafana-server (开机启动)
5. 通过浏览器 http://ip:3000/ 初始密码 admin/admin 修改
或者通过命令修改密码 grafana-cli admin reset-admin-password admin
6. 将 prometheus 收集到的数据作为一个数据源添加到 grafana
三. 安装pushgateway
1. wget https://github.com/prometheus/pushgateway/releases/download/v1.2.0/pushgateway-1.2.0.linux-amd64.tar.gz
2. tar xf pushgateway-1.2.0.linux-amd64.tar.gz -C /usr/local/
3. mv /usr/local/pushgateway-1.2.0.linux-amd64 /usr/local/pushgateway
4. cd /usr/local/pushgateway; ./pushgateway (后台不关闭)
5. 打开运行另外一个窗口 lsof -i:9091
6. 更改配置文件 vi +$ /usr/local/prometheus/prometheus.yml
末尾几行如下列格式:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'pushgateway'
static_configs:
- targets: ['localhost:9091']
7. 在 Prometheus 里观察 pushgateway 状态
8. 新建脚本 vi /usr/local/pushgateway.sh (用途是收集 DDoS 统计数据, 传送给 pushgateway)
#!/bin/bash
instance_name=`hostname -f|cut -d'.' -f1`
label="count_netstat_wait_connections"
while [ 1 ]; do
count_netstat_wait_connections=`netstat -na|grep -i SYN|wc -l`
echo "$label:$count_netstat_wait_connections"
echo `date "+%Y-%m-%d %H:%M:%S"`
echo "$label $count_netstat_wait_connections"|curl --data-binary @- http://127.0.0.1:9091/metrics/job/pushgateway/instance/$instance_name
sleep 2
done
exit 0
9. 赋予权限 chmod a+x pushgateway.sh
执行 ./pushgateway.sh
10. 切换到 grafana 主页 新建一个 面板 (DashBoard)
11. 选Add Query
12.Query 里选 Prometheus
13. 保存面板时, 提醒起名, 为 ddos_attack
四. 启动apache 开始攻击
1. systemctl start httpd
2. 登录kali系统 hping3 -c 100000 -d 120 -S -w 64 -p 80 --flood --rand-source 172.16.22.196 观察grafana界面
网友评论