在Linux centos根据空闲CPU百分比和半连接数是否被dos(tcp flood) 攻击的shell脚本(原创)

cpu 所有的值

1、被攻击前查看自己空闲百分比为99.7

2、在被攻击主机关闭防火墙 或设置防火墙策略允许攻击主机访问 服务和端口

开启http服务 命令 systemctl start httpd

这里就不演示

  1. 在kali开启攻击

  1. 命令:hping3 -c 10000 -d 120 -w 66 - p 80 --flood -S --rand-source +被攻击主机ip

4、抓包 看到只有两次握手,说明攻击成功

5、写出脚本

#!/bin/bash

#writer:liyaoodong

#dos 攻击: 拒绝服务攻击,使服务器不能提供服务

#常见的类型有 : icmp flood 、 syn flood 、udp flood 、cc

#syn flood: 利用tcp三次握手原理 ,客户机发送syn报文 ,服务器回应ack 和syn 和ack 报文,客户机不回应服务器,它们之间形成 半链接状态,被攻击服务器需要一部分资源保持半链接状态,消耗服务器资源。

#cc攻击:合法的访问量 急剧增加(已经完成了三次握手,正常的http请求)

#!/bin/bash

#两次取出 空闲CPU百分比 并赋值

a=$(top | head -3 | tail -1 | awk -F ',' '{print $4}' | awk -F '.' '{print $1}' | awk '{print $2}')

b=$(top | head -3 | tail -1 | awk -F ',' '{print $4}' | awk -F '.' '{print $1}' | awk '{print $2}')

#取出半链接数据并赋值给c

c=$(netstat -natp | grep SYN_RECV | wc -l)

#比较半链接数据和空闲CPU百分比

if [ $a -le 90 ] && [ $b -le 90 ] && [ $c -ge 130 ]

then

echo "主机可能正在被DOS (tcp flood)攻击,请处理"

else

echo "主机没有被 DOS (tcp flood)攻击"

fi

~

验证

~

~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值