[转载]实现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

原文地址:https://www.cnblogs.com/chenyangqit/p/11787719.html