如何用shell脚本实现DDOS攻击自动封禁IP?

如何用shell脚本实现DDOS攻击自动封禁IP?

游戏|数码彩彩2024-04-05 7:42:46406A+A-

今天分享一个Shell脚本,主要是用来解决DDoS攻击的简单版。


需求

请根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP。

防火墙命令为:iptables-I INPUT -s IP地址 -j DROP。

练习使用日志下载地址:https://files.cnblogs.com/files/clsn/access-web-log.zip

面试官:如何用shell脚本实现DDOS攻击自动封禁IP?

 


脚本实现

#!/bin/bash
#############################################################
# File Name: ddos_check.sh
#############################################################
​
Info_File=/tmp/ddos_check.log
​
#从连接数获取
#netstat -lant|awk -F "[ :]+" '/180:80/{clsn[$6]++}END{for(pol in clsn)print pol,clsn[pol]}' >$Info_File
​
# 从日志获取
awk '{hotel[$1]++}END{for(pol in hotel)print pol,hotel[pol]}' access.log|sort -nk2 -r >$Info_File
​
while read line 
do 
 Ip_Add=`echo $line |awk '{print $1}'`
 Access=`echo $line |awk '{print $2}'`
 if [ $Access -ge 10000 ]
 then
 #echo $Ip_Add
 iptables -I INPUT -s $Ip_Add -j DROP
 fi
done <$Info_File
面试官:如何用shell脚本实现DDOS攻击自动封禁IP?

 


脚本执行结果

./ddos_check.sh
iptables -L
面试官:如何用shell脚本实现DDOS攻击自动封禁IP?
点击这里复制本文地址 版权声明:本文内容由网友提供,该文观点仅代表作者本人。本站(https://www.angyang.net.cn)仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

昂扬百科 © All Rights Reserved.  渝ICP备2023000803号-3网赚杂谈