防ddos-shell

#!/bin/bash
#
Info_File=/tmp/ddos_check.log
#从连接数获取
#netstat -lant|awk -F "[ :]+" '/:443/{clsn[$6]++}END{for(pol in clsn)print pol,clsn[pol]}' >$Info_File
# 从日志获取
#awk '{hotel[$1]++}END{for(pol in hotel)print pol,hotel[pol]}' access.log|sort -nk2 -r >$Info_File
cat /var/log/nginx/access.log |awk -F':'  '{print $1}' |awk '{hotel[$1]++}END{for(pol in hotel)print pol,hotel[pol]}' |sort -nk2 -r >$Info_File
while read line 
do 
 Ip_Add=`echo $line |awk '{print $1}'`
 Access=`echo $line |awk '{print $2}'`
 if [ $Access -ge 10000 ]
 then
 #echo $Ip_Add
 #iptables -I INPUT -s $Ip_Add -j DROP
 iptables -nL | grep $Ip_Add  ||(iptables -I INPUT -s $Ip_Add -j DROP & echo "$Ip_Add  `date +%Y-%m-%d-%H:%M:%S`">> /root/deny.log)
 fi
done <$Info_File
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值