閑來無事,琢磨一個抗攻擊的小腳本,主要是通過命令來監(jiān)測某個IP的并發(fā)數(shù),如果某個IP的并發(fā)數(shù)很大,那么我們就拒絕它訪問,下面來談?wù)劸唧w思路。
第一,netstat找出當(dāng)前的并發(fā)數(shù)
第二,awk找到并發(fā)超過100的ip
第三,iptablesrejectip
代碼:
#!/bin/bash
/bin/netstat -an|awk '/80/&&/ESTABLISHED/{print $5}'|awk -F: '{a[$1]++}END{f or (i in a) if(a[i]>100)print a[i],i}'>/tmp/drop.txt
drop_ip=`cat /tmp/drop.txt|awk '{print $2}'`
for iptables_ip in $drop_ip
do
/sbin/iptables -A INPUT -s $iptables_ip -j reject
done
或者使用sort、uniq
netstat-ant|awk'/80/&&/ESTABLISHED/{print$5}'|awk'{print$1}'|sort|uniq-c|sort-nr|head
|