aggiungere byte totali in iptables
Domanda
Come si aggiunge grep linea numero di uscita per riga.
Ho il file di output di seguito da
pkts bytes target prot opt in out source destination
0 0 RETURN 0 -- * * 0.0.0.0/0 192.168.1.117
0 0 RETURN 0 -- * * 192.168.0.1 0.0.0.0/0
0 0 RETURN 0 -- * * 0.0.0.0/0 192.168.0.1
375993 19581223 RETURN 0 -- * * 192.168.1.136 0.0.0.0/0
752537 1043650417 RETURN 0 -- * * 0.0.0.0/0 192.168.1.136
123 9348 RETURN 0 -- * * 192.168.1.100 0.0.0.0/0
121 9196 RETURN 0 -- * * 0.0.0.0/0 192.168.1.100
Voglio aggiungere tutti i byte per ogni indirizzo IP e memorizzare come variabile per ulteriori calcoli.
iptables -L RRDIPT -vnx -t filter | grep "192.168.1" | cut -d " " -f4
mi dà gli spazi vuoti e 19581223,1043650417,9348 e 9196, ma sto lottando per aggiungere l'output.
Qualcuno mi guida?
Soluzione
I seguenti conteggi di script fino il conteggio dei byte per IP di destinazione . Se si desidera che per IP sorgente quindi modificare il $9
a $8
iptables -L ... | awk '!/destination/{a[$9]+=$2}END{for(item in a)printf("%s\tTotal bytes: %s\n",item,a[item])}'
ingresso
pkts bytes target prot opt in out source destination
0 1 RETURN 0 -- * * 0.0.0.0/0 192.168.1.117
0 2 RETURN 0 -- * * 192.168.0.1 0.0.0.0/0
0 3 RETURN 0 -- * * 0.0.0.0/0 192.168.0.1
0 4 RETURN 0 -- * * 0.0.0.0/0 192.168.1.117
0 5 RETURN 0 -- * * 192.168.0.1 0.0.0.0/0
0 6 RETURN 0 -- * * 0.0.0.0/0 192.168.1.117
0 7 RETURN 0 -- * * 192.168.0.1 0.0.0.0/0
Output
192.168.0.1 Total bytes: 3
0.0.0.0/0 Total bytes: 14
192.168.1.117 Total bytes: 11
Altri suggerimenti
awk
farà a breve lavori di tale.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow