CentOS防CC攻击脚本

林继 VPS 知识 4,827 共写了71个字 (2011-11-13 13:39:15) 没有评论 打印 扫描二维码 百度已收录
  1. #!/bin/sh   
  2.   cd /var/log/httpd/ 
  3.  
  4.   cat access_log|awk '{print $1}'|sort|uniq -c|sort -n -r|head -n 20 > a  
  5.  
  6.   cp /dev/null access_log  
  7.  
  8.   cp /dev/null error_log  
  9.  
  10.   cp /dev/null limit.sh  
  11.  
  12.   cp /dev/null c  
  13.  
  14.   #awk '{print $2}' a|awk -F. '{print $1"."$2"."$3}'|sort|uniq > b  
  15.  
  16.   cat a|while read num ip  
  17.  
  18.   do 
  19.  
  20.   if [ "$num" -gt "20" ]  
  21.  
  22.   then 
  23.  
  24.   echo $ip >> c  
  25.  
  26.   fi 
  27.  
  28.   done 
  29.  
  30.   cat c|awk -F. '{print $1"."$2"."$3}'|sort|uniq > b  
  31.  
  32.   #cat c|sort|uniq > b  
  33.  
  34.   for i in `cat b`  
  35.  
  36.   #cat b|sed 's/\./ /g'|while read i1 i2 i3 i4  
  37.  
  38.   do 
  39.  
  40.   if `cat ourip |grep $i > /dev/null 2>&1`  
  41.  
  42.   then 
  43.  
  44.   echo "`date` $i" >> test 
  45.  
  46.   else 
  47.  
  48.   echo "iptables -I INPUT -p tcp -dport 80 -s $i.0/24 -j DROP" >> limit.sh  
  49.  
  50.   fi 
  51.  
  52.   done 
  53.  
  54.   sh limit.sh

本文来自:http://luckerme.com/archives/614.html

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >