#!/bin/sh
cd /usr/local/apache/logs
cat access_log|awk '{print $1}'|sort|uniq -c|sort -n -r|head -n 20 > a
cp /dev/null access_log
cp /dev/null error_log
cp /dev/null limit.sh
cp /dev/null c
#awk '{print $2}' a|awk -F. '{print $1"."$2"."$3}'|sort|uniq > b
cat a|while read num ip
do
if [ "$num" -gt "100" ]
then
echo $ip >> c
fi
done
cat c|awk -F. '{print $1"."$2"."$3"."$4}'|sort|uniq > b
#cat c|sort|uniq > b
for i in `cat b`
#cat b|sed 's/\./ /g'|while read i1 i2 i3 i4
do
if `cat ourip |grep $i > /dev/null 2>&1`
then
echo "`date` $i" >> test
else
echo "iptables -I INPUT -p tcp --dport 80 -s $i -j DROP" >> limit.sh
fi
done
sh limit.sh
shell 结合iptables防止小型CC攻击
原创
©著作权归作者所有:来自51CTO博客作者liang3391的原创作品,谢绝转载,否则将追究法律责任
下一篇:mysql增量备份
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
shell结合iptables自动拒绝恶意连接ssh
修改功能,增加自动释放被锁定的IP地址功能 增加自动执行时间,无需在任务计划中修改  
shell iptables ssh 休闲 自动拒绝 -
squid + iptables 完美结合
最近看iptables 和squid 进行共同管理上网行为,现把脚本粘来给大家,一起分享
职场 squid iptables 休闲 -
shell简单管理iptables脚本
&n
shell shell脚本 youzao shell管理iptables