利用Shell 脚本解决DDOS攻击问题
思路:主要利用awk,if结构,sort,uniq
#!/bin/bash
FilePath="access.log"
awk'{print$1}'$FilePath|sort-rn|uniq-c>ip_count.log
catip_count.log|whilereadtext####读取文件内容,以行为单位
do
echo$text
count=`echo$text|awk'{print$1}'`
ip=`echo$text|awk'{print$2}'`
if[$count-gt20]
then
ifiptables-L|grep$ip###判断是否已经在iptables中
then
echo"ip地址存在iptables中,不添加"
else
echo"添加ip地址到iptables"
iptables-AINPUT-s$ip-jDROP&&echo$ip>>ip_drop.log
/etc/init.d/iptablessave&>/dev/null###使iptables生效
/etc/init.d/iptablesrestart&>/dev/null
fi
else
echo"未到达标准,不添加到iptables"
fi
done
最后,我们可以把脚本添加到定时任务(crontab)里去,定时执行,这样就可以实现动态添加了。
以上所述是小编给大家介绍的利用Shell脚本解决DDOS攻击问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!