思路:

第一,netstat找出当前的并发数
第二,awk找到并发超过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