Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In Register

[How Do I Find Out?] Which Program Is Using My Bandwidth?

LawrenceLawrence Member
edited February 2020 in Performance and Security

In this tutorial, we will learn how to install and use three great command line programs for network monitoring or in other words how to find out which programs are using bandwidth.

For this tutorial we are using Ubuntu 16.04 distribution, however, you should be able to use it for all Debian and Ubuntu distributions we offer on Time4VPS.

Update System

First things first. Like always, first of all, we recommend updating your server. It can be done by simply executing:

apt-get update

nethogs is an open-source command line program that is used to monitor real-time network traffic bandwidth used by each process or application.


After our server is up to date we can start installation, run:

apt-get install nethogs

That's it, nethogs is installed and ready to be used.


To execute it run the command as shown:


As you see above the send and received lines show the amount of traffic being used by per process. The total sent and received usage of bandwidth calculated at the bottom.

There are only a few commands that you can use to control net hogs:

m: Change displays between "kb/s", "kb", "b", and "mb".
r: Sort by traffic received.
s: Sort by traffic sent.
q: quit

Although this is a simple tool, nethogs is a great way to associate traffic with specific applications.

IPTraf is another great way to monitor network traffic. It provides a number of different interactive monitoring interfaces.


On Ubuntu, you can install IPTraf with the following command:

apt-get install iptraf



With this menu, you can select which interface you would like to access.

For example, to get an overview of all network traffic, we can select the first menu and then "All interfaces". Here, you can see what IP addresses you are communicating on all of your network interfaces.

If you would like to have those IP addresses resolved into domains, you can enable reverse DNS lookup by exiting the traffic screen, selecting "Configure" and then selecting "Reverse DNS lookups".

You can also enable "TCP/UDP service names" to display using the names of the services instead of the port.

There are several other interfaces to investigate on your own.

netstat (network statistics) is a command-line network utility tool that displays network connections for the Transmission Control Protocol (both incoming and outgoing), routing tables, and a number of network interface and network protocol statistics.It is extremely flexible and powerful.


By default, netstat prints a list of open sockets:


Most useful command (in my option) is:

netstat -nltp

There are many other options that can change the output. Explore the help and man page for more ideas:
netstat --help
man netstat
Sign In or Register to comment.

Learn how to install a web and database server, email, FTP client or other applications. Discover and share information on server security or optimization recommendations.
Feel free to join our constantly expanding community, participate in discussions, strengthen your knowledge on Linux and Windows server management!
© 2013 - 2022 Time4VPS. All rights reserved.

Get In Touch