#!/bin/bash

# da eseguire ogni minuto via cron
# soglia in pacchetti al minuto passata come primo parametro, o default impostato qui di seguito

soglia=1000

test "$1" -gt 0 2>/dev/null && soglia=$1

# aver creato catene con nomi riconoscibili aiuta 
# 1) a elencarle
# 2) a estrarre dal nome direttamente i parametri identificativi della connessione

for CATENA in $(iptables -nL | grep "^Chain CONTA-" | awk '{ print $2}') ;do

	# -Z -vnxL restituisce il valore corrente dei contatori
	# e atomicamente li azzera

	PACCHETTI=$(iptables -Z -vnxL $CATENA | grep -v ^Zeroing | tail -1 | awk '{ print $1 }')
	if test "$PACCHETTI" -gt "$soglia" ; then
		SIP=10.1.1.$(echo $CATENA | cut -f2 -d-) 	
		DIP=10.9.9.$(echo $CATENA | cut -f3 -d-) 	
		SPT=$(echo $CATENA | cut -f4 -d-) 	
		DPT=$(echo $CATENA | cut -f5 -d-) 	
		/root/log_user.sh $SIP $DIP $SPT $DPT
	else	
done