A quick look at three best tools for network bandwidth monitoring in Ubuntu, Linux.
These tools need the network interface name as argument in the command line. To find out the network interface name (wired, wireless), run below command from terminal.
ifconfig
Good thing about these tools is they are available in Ubuntu repos. You can do just apt to install.
Table of Contents
iftop
iftop listens to the network interface and gives you a list of hosts which is consuming data. Total incoming and outgoing data also shown. It can also show port numbers with hosts and able to convert the port numbers to services. Here are the complete options (–help).
-n don't do hostname lookups -N don't convert port numbers to services -p run in promiscuous mode (show traffic between other hosts on the same network segment) -b don't display a bar graph of traffic -B Display bandwidth in bytes -i interface listen on named interface -f filter code use filter code to select packets to count (default: none, but only IP packets are counted) -F net/mask show traffic flows in/out of IPv4 network -G net6/mask6 show traffic flows in/out of IPv6 network -l display and count link-local IPv6 traffic (default: off) -P show ports as well as hosts -m limit sets the upper limit for the bandwidth scale -c config file specifies an alternative configuration file -t use text interface without ncurses Sorting orders: -o 2s Sort by first column (2s traffic average) -o 10s Sort by second column (10s traffic average) [default] -o 40s Sort by third column (40s traffic average) -o source Sort by source address -o destination Sort by destination address The following options are only available in combination with -t -s num print one single text output afer num seconds, then quit -L num number of lines to print
How to Install
Run below command from terminal to install in Ubuntu, Linux Mint:
sudo apt install iftop
Command
sudo iftop -i eth0
Replace eth0 with your interface name.
slurm
slurm is a network load monitoring tool with color terminal graphs. It gives real-time traffic in terminal with three graph mode – combines RX and TX and two split views. Features from help:
-z zero counters at startup -d delay delay between refreshes in seconds (1 < delay < 300) -c old classic/combined view -s split window mode with stats -l large split window mode -L enable TX/RX 'leds' -i interface select network interface -t theme select a theme
How to Install
Run below command from terminal to install in Ubuntu, Linux Mint:
sudo apt install slurm
Command
slurm -z -i wlp3s0
bmon
bmon (a.k.a. Bandwidth Monitor) is a network monitoring tool and is able to monitor multiple interface traffic. It gives data about packets, errors and whole lot of information needed for monitoring. Features from help:
Options: Startup: -i, --input=MODPARM Input module(s) -o, --output=MODPARM Output module(s) -f, --configfile=PATH Alternative path to configuration file -h, --help Show this help text -V, --version Show version Input: -p, --policy=POLICY Element display policy (see below) -a, --show-all Show all elements (even disabled elements) -r, --read-interval=FLOAT Read interval in seconds (float) -R, --rate-interval=FLOAT Rate interval in seconds (float) -s, --sleep-interval=FLOAT Sleep time in seconds (float) -L, --lifetime=LIFETIME Lifetime of an element in seconds (float) Output: -U, --use-si Use SI units -b, --use-bit Display in bits instead of bytes Module configuration: modparm := MODULE:optlist,MODULE:optlist,... optlist := option;option;... option := TYPE[=VALUE] Examples: -o curses:ngraph=2 -o list # Shows a list of available modules -o curses:help # Shows a help text for html module Interface selection: policy := [!]simple_regexp,[!]simple_regexp,... Example: -p 'eth*,lo*,!eth1'
How to install
To install, run below command from terminal in Ubuntu, Linux Mint.
sudo apt install bmon
Command
bmon eth0
Replace eth0 with your interface name.