> ## Content Index
> Fetch the complete content index at: https://itsfoss.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Monitoring Network Bandwidth and Speed in Linux
- URL: https://itsfoss.com/network-speed-monitor-linux/
- Published: 2019-06-26T08:24:19.000Z
- Updated: 2023-09-27T06:55:45.000Z
- Description: In this article, we list some open source utilities to monitor the network traffic, bandwidth and internet speed in Linux.
- Author: Sergiu
- Tags: Terminal, List 📋

Monitoring internet speed can be a crucial step in understanding your connection and it can help you find possible problems. It will also help you troubleshoot any connectivity problems you might have and find possible bottlenecks.

## Tools for Monitoring Internet traffic and speed in Linux

I am going to present you different tools to help monitor your internet speed. I have provided installation instructions for Ubuntu/Debian based distributions but the tools can be easily installed in other distributions.

It doesn’t matter if you are a beginner that wants a simple, working solution, a guru looking to get as much information about your network as possible, if you prefer GUI or CLI programs, I’ll help you find the right tool for the job.

### 1\. NetSpeed – GNOME shell extension for desktop users

![NetSpeed Shell Extension](https://itsfoss.com/content/images/wordpress/2019/06/netspeed_shell_extension-2.png?fit=800%2C243&ssl=1)

NetSpeed Shell Extension

**NetSpeed** is a GNOME shell extension that displays the sum of your download and upload speed in your gnome panel. Clicking on it displays the separate values in a drop-down.

It is applicable only if you use the GNOME [desktop environment](https://itsfoss.com/what-is-desktop-environment/). If you are not familiar already, read this tutorial to know [how to use GNOME Shell extensions](https://itsfoss.com/gnome-shell-extensions/).

### 2\. Fast – Netflix’s Internet speed tester

![Fast Download Speed Utility](https://itsfoss.com/content/images/wordpress/2019/06/fast_download_speed_utility.png?fit=800%2C113&ssl=1)

Fast Download Speed Utility

**Fast** is an open-source CLI utility powered by Netflix [**fast.com**](https://fast.com/?ref=itsfoss.com) service. Although the code for the website itself **isn’t** open-source, Netflix have explained how it works [here](https://medium.com/netflix-techblog/building-fast-com-4857fe0f8adb?ref=itsfoss.com). **Fast** is the perfect tool for someone that just wants to check the download speed in a very simple manner.

You can install it using snap. Make sure to [enable Snap support in your distribution](https://itsfoss.com/install-snap-linux/) and then run the following command:

```
sudo snap install fast
```

Once installed, you can run the utility by typing in:

```
fast
```

Once again, after a few seconds, you’ll get your result:

![Fast Snap Display Internet Speed](https://itsfoss.com/content/images/wordpress/2019/06/fast_snap_display_internet_speed.png?fit=800%2C240&ssl=1)

Fast Snap Display Internet Speed

### 3\. speedtest-cli: check upload and download speed

![speedtest-cli](https://itsfoss.com/content/images/wordpress/2019/06/speedtest_cli.png?fit=800%2C394&ssl=1)

speedtest-cli

**speedtest-cli** is an open-source command line interface for testing internet bandwidth using [speedtest.net](https://www.speedtest.net/?ref=itsfoss.com) (which, itself, **isn’t** open-source). It is a quick little tool for checking your download and upload speed.

speedtest-cli is available in most distros and can easily be installed using the package manager. On Debian/Ubuntu, you can use the following command:

```
sudo apt install speedtest-cli
```

Once installed, simply run:

```
speedtest
```

After a few seconds, you’ll get information about which server was used for checking your connection, as well as the details concerning your internet speed. Use **man speedtest** to learn about additional options (such as not performing download test with **–no-download**).

### 4\. NetHogs – Check bandwidth utilization per program basis

![Nethogs](https://itsfoss.com/content/images/wordpress/2019/06/nethogs.jpg?fit=800%2C298&ssl=1)

NetHogs

[NetHogs](https://github.com/raboof/nethogs?ref=itsfoss.com) is a simple open-source utility that runs in the terminal. Instead of breaking the traffic down per protocol or per subnet, it groups bandwith by process. It is very helpful for [finding the PID of a hanging program](https://itsfoss.com/how-to-find-the-process-id-of-a-program-and-kill-it-quick-tip/) or just for seeing what is eating your bandwidth. It relies mostly on **/proc**, so most features are Linux-only.

Luckily, NetHogs is included in many distros. That means you can install and remove it using your normal package manager. On Debian/Ubuntu, you can use this:

```
sudo apt install nethogs
```

To run it, simply use:

```
sudo nethogs
```

Conveniently, you can specify devices after the command (such as **sudo nethogs eth0**). You also have additional parameters, such as choosing a delay for the refresh rate (**\-d**), version info (**\-V**), tracemode (**\-t**) and a few others which you can check out in the man pages (**man nethogs**).

### 5\. nload – Real-Time internet traffic monitoring

![nload](https://itsfoss.com/content/images/wordpress/2019/06/nload.png?fit=800%2C504&ssl=1)

nload

**nload** is an open-source console application that allows you to monitor network traffic and bandwidth usage in real time. It visualizes incoming and outgoing traffic using graphs, while also providing additional information (total amount of transferred data, min/max network usage etc.). It’s a simple to use tool that can be really helpful at times.

You can install it in Debian and Ubuntu based distributions using the command:

```
sudo apt install nload
```

To run it, simpy type in:

```
nload
```

You can control its various aspects from the manpage (**man nload**).

### 6\. CBM – Color Bandwidth Meter

![CBM Color Bandwidth Meter](https://itsfoss.com/content/images/wordpress/2019/06/cbm_color_bandwidth_meter.png?fit=800%2C482&ssl=1)

CBM Color Bandwidth Meter

**CBM** is a very simple tool that displays (in color) network traffic on all connected devices, in a very stripped-down manner.

**CBM** is a slightly older piece of software that can be found in most distro repositories. This makes installing and removing it using the package manager very easy.

```
sudo apt install cbm -y
```

Using **CBM** is just as easy as installing it. You run:

```
cbm
```

The commands are displayed in the bottom of your terminal so that you can control them easily.

### 7\. iPerf – Test network performance between two hosts

![iPerf](https://itsfoss.com/content/images/wordpress/2019/06/iperf.png?fit=800%2C300&ssl=1)

iPerf

[iPerf](https://iperf.fr/?ref=itsfoss.com) is tool used for network performance measurement and tuning and can produce standardized performance measurements for any network. It has **client** and **server** functionality, and can create data streams to measure bandwidth, loss and other parameters between the two ends in one or both directions. There are two implementations: the original **iPerf** (iPerf2) and a non-backwards compatible implementation **iPerf3**.

The easiest way to install (or remove) **iPerf** or **iPerf3** is using the package manager. For example, in **Ubuntu**:

```
sudo apt install iperf
sudo apt install iperf3
```

Then you can just run the one you want:

```
iperf
iperf3
```

📋

**For all further examples, if you are using* ***iPerf3** *simply replace all instances of* ***iperf** *with* ***iperf3** *.*

However, doing so will only display your options. To run **iPerf**, you need a minimum of 2 machines: one to act as a **client** and one to act as a **server**. For the server, you’ll use:

```
iperf -s
```

This will open the machine for listening on port 5001\. To connect to another machine and run a test, you’ll use:

```
iperf -c server_address
```

Where **server\_address** is, of course, the address of the server you are trying to connect to. This can be either an **IP address**, or something like **ping.online.net**. The **iPerf3** team has a [list of servers](https://iperf.fr/iperf-servers.php?ref=itsfoss.com) to use for testing purposes.

**iPerf** is a widely used tool that has a lot of specific uses and many options. I won’t go into those, since it is beyond the scope of this article. However, you can check out the manpage (**man iperf** / **man iperf3**) or the [**documentation**](https://iperf.fr/iperf-doc.php?ref=itsfoss.com).

### 8\. vnStat – Network traffic logger

![vnStat](https://itsfoss.com/content/images/wordpress/2019/06/vnstat-1.png?fit=800%2C277&ssl=1)

vnStat

[**vnStat**](https://humdi.net/vnstat/?ref=itsfoss.com) is an open-source console-based network traffic monitor that uses the network interface statistics provided by the kernel as information source for its periodic logs. This means that **vnStat** won’t actually be sniffing any traffic and also ensures light CPU usage. It can be run without root permissions.

As with many other networking tools, **vnStat** is include in most distribution repositories. This means you can very easily install (and remove) it using your package manager.

```
sudo apt install vnstat
```

To use it in the most basic way, simply enter:

```
vnstat
```

**vnStat** offers you more advanced features too, such as the ability to use databases (importing them or exporting output to a file). You can check these out in the manpage (**man vnstat**). More examples can be found on the [official website](https://humdi.net/vnstat/?ref=itsfoss.com).

### 9\. iftop – The ‘top’ of Network Usage

![iftop](https://itsfoss.com/content/images/wordpress/2019/06/iftop.png?fit=800%2C602&ssl=1)

iftop

**iftop** is a free open-source software command-line system monitor tool that produces a frequently updated list of network connections between pairs of hosts. The connections can be ordered by different parameters, but they ordered by default by bandwidth usage, with only the “top” bandwidth consumers shown.

## **Wrapping Up**

In this article I showed you multiple tools you can use to monitor different statistics concerning the performance of your network. There is a tool that is right for everyone, and you can pick and choose the one that fits your specific needs. I hope this article was a good introduction to the world of internet monitoring.

What is your favorite tool and how are you using it? Let us know in the comments section!