[转载]实现DDOS攻击自动封禁IP
1 #!/bin/bash 2 ############################################################# 3 # File Name: ddos_check.sh 4 ############################################################# 5 6 Info_File=/tmp/ddos_check.log 7 8 #从连接数获取 9 #netstat -lant|awk -F "[ :]+" '/180:80/{clsn[$6]++}END{for(pol in clsn)print pol,clsn[pol]}' >$Info_File 10 # 从日志获取 11 awk '{hotel[$1]++}END{for(pol in hotel)print pol,hotel[pol]}' access.log|sort -nk2 -r >$Info_File 12 13 while read line 14 do 15 Ip_Add=`echo $line |awk '{print $1}'` 16 Access=`echo $line |awk '{print $2}'` 17 if [ $Access -ge 10000 ] 18 then 19 20 #echo $Ip_Add 21 iptables -I INPUT -s $Ip_Add -j DROP 22 fi 23 done <$Info_File
测试NGINX日志:
https://files.cnblogs.com/files/clsn/access-web-log.zip