通过封禁ip来解决ddos
获取连接数最多的前10个ip并临时写入文件dropip中
通过for循环来遍历dropip文件的ip
排除192.168开头和127.0开头的ip
然后遍历及排除完3题的ip后调用防火墙drop掉
并写日历文件到/var/log/ddos中
#!/bin/bash
netstat -an|grep ESTABLISHED|awk ‘{print $4}’|awk -F ‘:’ ‘{print $1}’|sort |uniq |head -n10 |awk ‘{print $1,$2}’ >> dropip
for ip in cat dropip
do
if [[ $ip =~ “192.168” ]] || [[
i
p
=
"
127
"
]
]
;
t
h
e
n
e
c
h
o
"
p
a
s
s
"
e
l
s
e
e
c
h
o
"
ip =~ "127" ]]; then echo "pass" else echo "
ip= "127"]];thenecho"pass"elseecho"ip"
iptables -I INPUT -p tcp -s $ip -j DROP
fi
done