思路:
第一,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