利用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攻击问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!