Bandwidth Monitoring Tools for Ubuntu Users

Sponsored Link
Bandwidth in computer networking refers to the data rate supported by a network connection or interface. One most commonly expresses bandwidth in terms of bits per second (bps). The term comes from the field of electrical engineering, where bandwidth represents the total distance or range between the highest and lowest signals on the communication channel (band).

Bandwidth represents the capacity of the connection. The greater the capacity, the more likely that greater performance will follow, though overall performance also depends on other factors, such as latency.

Here is the list of bandwidth monitoring tools for your network bandwidth


Now we will see each tool separately


bmon is a portable bandwidth monitor and rate estimator running on various operating systems. It supports various input methods for different architectures.

Various output modes exist including an interactive curses interface, lightweight HTML output but also formatable ASCII output

Current Stable Version :- 2.1.0

Install bmon in Ubuntu

sudo apt-get install bmon

This will complete the installation.

If you want to open the application you need to enter the following command


you should see the following output

If i select the eth0 i should see all the traffic details

If you want to know more available options check man page


This program will output a PNG and a text file that can be used in scripts or be included in web pages to show current bandwidth usage. The amount of total bandwidth can be customized. The PNG output appears as a bar graph showing maximum possible usage with the current inbound or outbound usage shown as a differently colored bar.

Current Stable Version :- 1.2.3

Install bwbar in ubuntu

sudo apt-get install bwbar

This will complete the installation

There is a /etc/default/bwbar file to configure before this package will work and here is my config

# Directory to put files into
# Who to run as
# What are the options (eth0, scale of 1.5mbps)
OPTIONS="eth0 1.5″

Now you need to chnage the permissions using the following command

sudo chown -R www-data:www-data /var/www/bwbar/

Start the bwbar using the following command

sudo /etc/init.d/bwbar start

You can also launch bwbar using the following command

bwbar eth0 100 -x 200 -y 7 -t 10 -p network.png -f network.txt -d /var/www/bwbar &

Now you need to go to http://serverip/bwbar you should see the bandwidth bar as follows

If you want to know about available option check man page


BandWidth Monitor This is a very tiny bandwidth monitor (not X11). Can monitor up to 16 interfaces in the in the same time, and shows totals too.

Current Stable Version :- 1.1.0

Install bwm ubuntu

sudo apt-get install bwm

This will complete the installation now

If you want to run the application use the following command


Output looks like below

If you want more details and available options check man page


small and simple console-based bandwidth monitor.Bandwidth Monitor NG is a small and simple console-based live bandwidth monitor.

Current Stable Version :- 0.5


supports /proc/net/dev, netstat, getifaddr, sysctl, kstat and libstatgrab

unlimited number of interfaces supported

interfaces are added or removed dynamically from list

white-/blacklist of interfaces

output of KB/s, Kb/s, packets, errors, average, max and total sum

output in curses, plain console, CSV or HTML


Install bwm-ng in ubuntu

sudo apt-get install bwm-ng

This will complete the installation

If you want to run the application you need to use the following command


Output looks like below

If you want more details and available options check man page


iftop does for network usage what top does for CPU usage. It listens to network traffic on a named interface and displays a table of current bandwidth usage by pairs of hosts.

Current Stable Version :- 0.17

Install iftop in ubuntu

sudo apt-get install iftop

This will complete the installation

If you want to run the application you need to use the following command


Output looks like below

If you want more details and available options check man page


IP Flow Meter (IPFM) is a bandwidth analysis tool, that measures how much bandwidth specified hosts use on their Internet link.

Current Stable Version :- 0.11.5

Install ipfm in Ubuntu

sudo apt-get install ipfm

This will complete the installation

Now if you want to configure this for your network you need to copy example configuration file from /usr/share/doc/ipfm/examples if you want to check this file click here

once you configure this file you need to start the service using the following command

sudo /etc/init.d/ipfm start

If you want more details and available options check man page


Measure and display the rate of data across a network connection or data being stored in a file.

Current Stable Version :- 2.4

Install speedometer in ubuntu

Check which version of python is the default by running

python -V

Then issue the following commands as root to install speedometer (choose the correct Urwid package for your python version, ie. if python -V reports version 2.3.X then install python2.3-urwid)

apt-get install python2.4-urwid

Download the source file.

As user issue the following commands in the directory that you downloaded the source file

sudo cp /usr/local/bin/speedometer

sudo chown root: /usr/local/bin/speedometer

sudo chmod 755 /usr/local/bin/speedometer

Now you can run the speedometer application using the following


Now you should see the following screen output

Speedometer Usage

Usage: speedometer [options] tap [[-c] tap]

Available options

speedometer -h

Usage: speedometer [options] tap [[-c] tap]...

Monitor network traffic or speed/progress of a file transfer. At least one tap must be entered. -c starts a new column, otherwise taps are piled vertically.


[-f] filename [size] display download speed [with progress bar]

-f must be used if directly following another

file tap without an expected size specified

-rx network-interface display bytes received on network-interface

-tx network-interface display bytes transmitted on network-interface


-i interval-in-seconds eg. "5" or "0.25" default: "1"

-p use plain-text display (one tap only)

-b use old blocky display instead of smoothed display even when UTF-8 encoding is detected

-z report zero size on files that don't exist instead of waiting for them to be created

Usage Examples

How long it will take for my 38MB transfer to finish?

speedometer favorite_episode.rm $((38*1024*1024))

How quickly is another transfer going?

speedometer dl/big.avi

How fast is this LAN?

$ cat /dev/zero | nc -l -p 12345

$ nc host-a 12345 > /dev/null

$ speedometer -rx eth0

How fast is the upstream on this ADSL line?

speedometer -tx ppp0

How fast can I write data to my filesystem? (with at least 1GB free)

dd bs=1000000 count=1000 if=/dev/zero of=big_nothing &
speedometer big_nothing


cbm — the Color Bandwidth Meter — displays the current traffic on all network devices.

Current Stable Version :- 0.1-1

Install cbm in ubuntu

First you need to download the .deb package from here

once you have the .deb package you need to install using the following comamnd

sudo dpkg -i cbm_0.1-1_i386.deb

this will complete the installation now if you want to use the appltcation use the following command


Output looks like below


pktstat listens to the network and shows the bandwidth being consumed by packets of various kinds in realtime. It understands some protocols (including FTP,HTTP, and X11) and adds a descriptive name next to the entry (e.g., ‘RETR cd8.iso', ‘GET' or ‘xclock -fg blue').

Current Stable Version :- 1.8.3

Install pktstat in Ubuntu

First you need to download .rpm package from here once you have the .rpm package you need to convert this .rpm file to .deb file using alien

Install alien

sudo apt-get install alien

Now you need to use the follwoing command to convert .rpm to .deb

sudo alien -k pktstat-1.7.2q-0.i386.rpm

Now you should be having pktstat_1.7.2q-0_i386.deb package

Install pktstat in Ubuntu

sudo dpkg -i pktstat_1.7.2q-0_i386.deb

This will complete the installation now you can open the application using the following command


output looks like below

If you want more available options for pktstat check man page


ibmonitor is an interactive linux console application which shows bandwidth consumed and total data transferred on all interfaces.

Current Stable Version :- 1.4

Its main features are:

Shows received, transmitted and total bandwidth of each interface

Calculates and displays the combined value of all interfaces

Displays total data transferred per interface in KB/MB/GB

Values can be displayed in Kbits/sec(Kbps) and/or KBytes/sec(KBps)

Can show maximum bandwidth consumed on each interface since start of utility

Can show average bandwidth consumption on each interface since start of utility

The output with all features (max, avg and display in Kbps and KBps) easily fits on a 80×24 console or xterm

Can interactively change its output display format depending on key pressed by user.

Install ibmonitor in Ubuntu

First you need to download the latest version from here


Now you have ibmonitor-1.4.tar.gz

Extract this file using the following commands

tar xvfz ibmonitor-1.4.tar.gz

cd ibmonitor

If you want to run the application use the following command

Once you are in ibmonitor folder use


Output looks like the following screen


While tools to measure network performance, such as ttcp, exist, most are very old and have confusing options. Iperf was developed as a modern alternative for measuring TCP and UDP bandwidth performance.

Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss.

Current Stable Version :- 2.0.2

Install iperf in ubuntu

sudo apt-get install iperf

iperf Syntax

iperf [-s|-c host] [options]


iperf -c server address -F file-name

iperf -c server address -I

The -F option is for file input.

The -I option is for input from stdin.

If you want more details and available options check man page


tcptrack is a sniffer which displays information about TCP connections it sees on a network interface. It passively watches for connections on the network interface, keeps track of their state and displays a list of connections in a manner similar to the unix ‘top' command. It displays source and destination addresses and ports, connection state, idle time, and bandwidth usage.

Current Stable Version :- 1.1.5

Install tcptrack in Ubuntu

sudo apt-get install tcptrack

this will complete the installation

tcptrack Syntax

tcptrack [-dfhvp] [-r ] -i []


tcptrack requires only one parameter to run: the -i flag followed by an interface name that you want tcptrack to monitor. This is the most basic way to run tcptrack

tcptrack -i eth0

tcptrack can also take a pcap filter expression as an argument. The format of this filter expression is the same as that of tcpdump and other
libpcap-based sniffers. The following example will only show connections from host

tcptrack -i eth0 src or dst

The next example will only show web traffic (ie, traffic on port 80)

tcptrack -i eth0 port 80

The following output screen will show you more details


The Multi Router Traffic Grapher or just simply MRTG is free software for monitoring the traffic load on network links. It allows the user to see traffic load on a network over time in graphical form.

Current Stable Version :- 2.15.0

Project Homepage


Cacti is a complete network graphing solution designed to harness the power of RRDTool's data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. All of this is wrapped in an intuitive,easy to use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices.

Current Stable Version :- 0.8.6i

Project Homepage

Regarding MRTG and Cacti i am going write detailed articles in future

Sponsored Link

You may also like...

40 Responses

  1. ashoka1 says:

    i am using GPRS modem to connect to the you have idea how i can check the bandwidth?
    nice article. thanks.

  2. Arun Khan says:

    A very comprehensive list of b/w monitoring tools. Thanks very much for putting the list together with example screen shots.

    You can list your interfaces with the following command “/sbin/ifconfig -a | less”

    Since you are using a modem, your network interface is most likely ppp0. In the above tools specify “ppp0” for the interface parameter.

  3. Ken says:

    Which program will also monitor other PC’s bandwidth on the network?

  4. Nuwan says:

    I have tried to install and run some of the above mentioned programs. But they are either too complex for me to understand or they are too simple for me to get all the information and capability required. I have noticed there is an idea posted in ubuntu idea sand box to develop a simple, effective tool for bandwidth metering for ubuntu.

    The best solution for me for the moment is to use something developed for Windows, through Wine. I and trying networx and it seems to be working.

  5. Martin says:

    Good list, thanks.

    Don’t forget that Ubuntu has a graphical monitor installed by default. Check out the System Monitor in System Administration.

  6. guest says:

    I’ve run into this information while looking for info on how to monitor traffic and connections. I just wanted to comment it has been really useful for me, specially pktstat. Thank you.

  7. Michael Brewer says:

    Excellent synopsis of great monitoring tools, thanks.

  8. Netmon Screenlet is the best for linux for me..

  9. nelson says:

    how to get the track of total amount of data uploaded and downloaded from server through web by different IP

  10. nelson says:

    Is there any tool for ubuntu to perform the above task

Leave a Reply

Your email address will not be published. Required fields are marked *