Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
shell: quick linux scripts for showing network bandwidth or packets-per-second
#!/bin/bash
if [ -z "$1" ]; then
echo
echo usage: $0 network-interface
echo
echo e.g. $0 eth0
echo
echo shows packets-per-second
exit
fi
IF=$1
while true
do
R1=`cat /sys/class/net/$1/statistics/rx_packets`
T1=`cat /sys/class/net/$1/statistics/tx_packets`
sleep 1
R2=`cat /sys/class/net/$1/statistics/rx_packets`
T2=`cat /sys/class/net/$1/statistics/tx_packets`
TXPPS=`expr $T2 - $T1`
RXPPS=`expr $R2 - $R1`
echo "tx $1: $TXPPS pkts/s rx $1: $RXPPS pkts/s"
done
#!/bin/bash
if [ -z "$1" ]; then
echo
echo usage: $0 network-interface
echo
echo e.g. $0 eth0
echo
exit
fi
IF=$1
while true
do
R1=`cat /sys/class/net/$1/statistics/rx_bytes`
T1=`cat /sys/class/net/$1/statistics/tx_bytes`
sleep 1
R2=`cat /sys/class/net/$1/statistics/rx_bytes`
T2=`cat /sys/class/net/$1/statistics/tx_bytes`
TBPS=`expr $T2 - $T1`
RBPS=`expr $R2 - $R1`
TKBPS=`expr $TBPS / 1024`
RKBPS=`expr $RBPS / 1024`
echo "tx $1: $TKBPS kb/s rx $1: $RKBPS kb/s"
done
@joemiller

This comment has been minimized.

Copy link
Owner Author

commented Nov 14, 2012

example:

# sh netspeed.sh  eth0
tx eth0: 6308 kb/s rx eth0: 98 kb/s
tx eth0: 6921 kb/s rx eth0: 109 kb/s
tx eth0: 6773 kb/s rx eth0: 109 kb/s
tx eth0: 6798 kb/s rx eth0: 109 kb/s
tx eth0: 6731 kb/s rx eth0: 105 kb/s
tx eth0: 6805 kb/s rx eth0: 106 kb/s
tx eth0: 6898 kb/s rx eth0: 109 kb/s
tx eth0: 8655 kb/s rx eth0: 134 kb/s
tx eth0: 9659 kb/s rx eth0: 153 kb/s
@MHDS

This comment has been minimized.

Copy link

commented Dec 29, 2016

hi
how can i see the live report like PRTG?

@telemaxx

This comment has been minimized.

Copy link

commented Apr 21, 2017

Thanks for sharing.
Works like a charm.

@boina-n

This comment has been minimized.

Copy link

commented Dec 19, 2017

Thanks 💯

@garacil

This comment has been minimized.

Copy link

commented Mar 10, 2018

A bug in your scripts. If you represent bytes you need put B. If you like show bits, need pultiply by 8:

TKBPS=`expr $TBPS / 1024 \* 8`
RKBPS=`expr $RBPS / 1024 \* 8`

@garacil

This comment has been minimized.

Copy link

commented Mar 10, 2018

You can simply with:

TKBPS=`expr $TBPS / 128`
RKBPS=`expr $RBPS / 128`

@alpc40

This comment has been minimized.

Copy link

commented Aug 29, 2019

thank you very much

@nicdnepr

This comment has been minimized.

Copy link

commented Sep 26, 2019

Hi
nload shows big incomind traffic
How can I see what app generates it?

@joemiller

This comment has been minimized.

Copy link
Owner Author

commented Oct 1, 2019

@nicdnepr You could try the nethogs utility for that

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.