DDoS 攻击+ prometheus安装+Grafana 监控

2020-05-15  本文已影响0人  阿尼奥赛哟

功能: 对于 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界面

上一篇下一篇

猜你喜欢

热点阅读