#!/bin/bash interface="$1" direction="src" ipfield="12" [[ "$2" == "down" ]] && direction="dst" ipfield="10" myaddress="$(ifconfig "$interface"| sed -nr 's/.*inet addr:([0-9.]*) .*/\1/p')" tcpdump -eni "$interface" "$direction" "$myaddress" | awk -v "ipfield=$ipfield" ' { total[gensub(".[0-9]*:*$","",1,$ipfield)] += $9 if (NR % 200 == 0) { for (i in total) { print total[i], i | "sort -nr|head -n 25" } print "" close ("sort -nr|head -n 25") } }'