#!/bin/bash # # Script prints packets per second passing through default interface # time="1" # one second # Finding out default interface: def=`ip route | grep default` found=0 for i in $def; do if [ $found -eq 1 ]; then int=$i; break; fi; if [ "$i" == "dev" ]; then found=1; fi ; done while true do txpkts_old="`cat /sys/class/net/$int/statistics/tx_packets`" # sent packets rxpkts_old="`cat /sys/class/net/$int/statistics/rx_packets`" # recv packets sleep $time txpkts_new="`cat /sys/class/net/$int/statistics/tx_packets`" # sent packets rxpkts_new="`cat /sys/class/net/$int/statistics/rx_packets`" # recv packets txpkts="`expr $txpkts_new - $txpkts_old`" # evaluate expressions for sent packets rxpkts="`expr $rxpkts_new - $rxpkts_old`" # evaluate expressions for recv packets echo "tx $txpkts pkts/s - rx $rxpkts pkts/ on interface $int" done