3 Best Command Line Tool for Network Bandwidth Monitoring


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.


Good thing about these tools is they are available in Ubuntu repos. You can do just apt to install.


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


sudo iftop -i eth0

Replace eth0 with your interface name.


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


slurm -z -i wlp3s0




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:

-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

-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)

-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]

-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


bmon eth0

Replace eth0 with your interface name.



You may also like...

Translate »