IntroductionIn 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 SystemFirst 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.
InstallationAfter 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.
UsageTo execute it run the command as shown:
nethogs
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.
InstallationOn Ubuntu, you can install
IPTraf with the following command:
apt-get install iptraf
Usageiptraf
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.
UsageBy default,
netstat prints a list of open sockets:
netstat
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