#!/bin/sh A="xx.yy.zz.aa" #target webserver address P="80" #target webserver port D="eth0" #device on which webserver target address is bound while true do sleep 140 && killall tcpdump & #grab 140 seconds tcpdump -ni $D |grep S | grep $A"."$P |perl -p -e "s/^.*IP\s//g;s/\s.*//"|grep -v $A|cut -d. -f1,2,3,4 > crap.txt cat crap.txt |sort |uniq -c |sort -rn|perl -p -e "s/^\s+//ig;s/^\d\d?\s.*//" |sort |uniq > crap2.txt for N in `cat crap2.txt|cut -d" " -f2`;do echo $N; iptables -I INPUT -s $N -d $A -j DROP;done done #"target version" with iptables #"router version" does 'ip route blackhole $N' #> 100 syn packets per timelimit -> exit # pakt ook netjes de "laatste" " IP ... nogwat" en niet de eerste #want bij tunnels heb je dat kreng 2 keer #en de eerste is dan altijd het source address van je -tunnel-