没事学习学习,早上看了别人防止CC攻击的shell脚本,代码的风格跟自己有点不一样,而且感觉大部分博客都是你抄我,我抄你的,里面缺少些东西,例如echo到文本,那个文本根本就不存在,也没有创建的操作,而且使用的sendmail发的,我这本地没搞定sendmail,用的mailx来发邮件,重写的脚本如下:
#!/bin/bash #author merci iplist=`netstat -an |grep ^tcp.*:80|egrep -v 'LISTEN|127.0.0.1'|awk -F"[ ]+|[:]" '{print $6}'|sort|uniq -c|sort -rn| awk '$1>20'` if [ ! -f 'denyip.log' ] then touch denyip.log fi if [[ ! -z $iplist ]] then for denyip in $iplist do denyiplist=`iptables -nL | grep $denyip` if [[ -z $denyiplist ]] then iptables -I INPUT -s $denyip -j DROP & echo 1 > denyip.log fi done if [[ `cat denyip.log` ] == 1 ] then echo -e 'DenyIp list\n $iplist' | mailx -s 'DenyIp list' shevechco@qq.com rm -rf denyip.log >/dev/null 2>&1 fi fi