E pentru uz personal.
while [ true ]; do for i in $(tail -n 50 access.log | grep 'GET / HTTP/1.' | awk '{print $1}' | uniq -c | sort -rn | head | sed 's/s/_/g' | sed 's/^_*//g'); do n=$(echo $i | cut -d_ -f1); if [ $n -ge "3" ]; then dos=$(echo $i | cut -d_ -f2); if [ -z $(cat /tmp/dos | grep $dos | head -n 1) ]; then echo $dos >> /tmp/dos; echo $dos iptables -I INPUT -s $dos -j DROP; fi; fi; done; sleep 10; doneDIN BLOGURILE MOLDOVEI