Page 1 of 1

[Tools] Best Tools for monitoring network on your Linux server

Posted: Tue Sep 11, 2018 6:42 pm
by xorro
1. Nload

Nload is a command line tool that allows users to monitor the incoming and outgoing traffic separately. It also draws out a graph to indicate the same, the scale of which can be adjusted. Easy and simple to use, and does not support many options.

So if you just need to take a quick look at the total bandwidth usage without details of individual processes, then nload will be handy.

Code: Select all

nload
Installing Nload – Fedora and Ubuntu have got it in the default repos. CentOS users need to get nload from Epel repositories.

Code: Select all

# fedora or centos
yum install nload -y

# ubuntu/debian
sudo apt-get install nload
2. iftop

Iftop measures the data flowing through individual socket connections, and it works in a manner that is different from Nload. Iftop uses the pcap library to capture the packets moving in and out of the network adapter, and then sums up the size and count to find the total bandwidth under use.

Although iftop reports the bandwidth used by individual connections, it cannot report the process name/id involved in the particular socket connection. But being based on the pcap library, iftop is able to filter the traffic and report bandwidth usage over selected host connections as specified by the filter.

Code: Select all

iftop -n
The n option prevents iftop from resolving ip addresses to hostname, which causes additional network traffic of its own.

Install iftop – Ubuntu/Debian/Fedora users get it from default repos. CentOS users get it from Epel.

Code: Select all

# fedora or centos
yum install iftop -y

# ubuntu or debian
apt-get install iftop
3. iptraf

Iptraf is an interactive and colorful IP Lan monitor. It shows individual connections and the amount of data flowing between the hosts. Here is a screenshot

Code: Select all

iptraf
Install iptraf

Code: Select all

# Centos (base repo)
yum install iptraf

# fedora or centos (with epel)
yum install iptraf-ng -y

# ubuntu or debian
apt-get install iptraf iptraf-ng
Build from source :

For Centos/RHEL (7.3, 7.4)

Code: Select all

yum install gcc tar git wget ncurses-devel ncurses make
For Ubuntu (16.04, 17.10, 18.04)

Code: Select all

apt-get update
apt-get install gcc tar git wget libncurses5-dev libncurses5 make
Download and extract IPTraf

Code: Select all

cd /usr/local/src
wget https://github.com/hobinyoon/iptraf-3.0.0/archive/master.zip
unzip master.zip
Build and install IPTraf

Code: Select all

cd /usr/local/src/iptraf-3.0.0-master
cp /usr/include/netinet/if_tr.h /usr/include/linux/
./Setup
Set PATH variable

Code: Select all

export PATH=$PATH:/usr/local/bin
Run IPTraf using the command below

Code: Select all

/usr/local/bin/iptraf
or
iptraf
4. Bmon

Bmon (Bandwidth Monitor) is a tool similar to nload that shows the traffic load over all the network interfaces on the system. The output also consists of a graph and a section with packet level details.

Install Bmon – Ubuntu, Debian and Fedora users can install from default repos. CentOS users need to setup repoforge, since its not available in Epel.

Code: Select all

# ubuntu or debian
apt-get install bmon

# fedora or centos (from repoforge)
yum install bmon
Bmon supports many options and is capable of producing reports in html format. Check the man page for more information

5. Vnstat Detailed Tutorial about [HowTo] vnStat and vnStati for Monitoring Network Traffic in Ubuntu

Vnstat is bit different from most of the other tools. It actually runs a background service/daemon and keeps recording the size of data transfer all the time. Next it can be used to generate a report of the history of network usage.

Code: Select all

$ service vnstat status
 * vnStat daemon is running
Running vnstat without any options would simply show the total amount of data transfer that took place since the date the daemon is running.

Vnstat is more like a tool to get historic reports of how much bandwidth is used everyday or over the past month. It is not strictly a tool for monitoring the network in real time.

Vnstat supports many options, details about which can be found in the man page.

Install vnstat

Code: Select all

# ubuntu or debian
apt-get install vnstat

# fedora or centos (from epel)
yum install vnstat
How to install EPEL repo on centos OS :

Code: Select all

yum install epel-release