The error: -bash: netstat: command not found, occurs after trying to execute the “netstat” command in bash on Debian and Ubuntu Linux. Because this command is no longer included by default. In this tutorial you will learn how to install the net-tools package on a Debian-based Linux, which includes, among other things, the netstat command.
netstat error message in bash
When running the netstat command, the following error message occurs:
-bash: netstat: command not found
This simply means that the corresponding net-tools package, which contains the netstat executable, is not installed and is therefore missing. The net-tools package may not be installed on the system by default, it must be installed manually.
Install the net-tools package
To make netstat available on the system, simply install the net-tools package with the following command:
$ sudo apt update $ sudo apt install net-tools -y
The net-tools package also includes additional utilities such as arp, ifconfig, netstat, rarp, and route.
Detect package net-tools and netstat
Determine the net-tools package based on the package name.
$ apt list net-tools Listing... Done net-tools/oldstable,now 1.60+git20181103.0eebece-1 amd64 [installed]
net-tools is a collection of basic network programs. If the net-tools package is installed, the netstat commands are available on the host.
$ apt show net-tools
Examples with netstat
With net-tools installed on the system, we can now use some of the following netstat commands.
First, let’s look at the processes waiting for connections. To do this we enter the following netstat command.
$ sudo netstat -tulpen
Now let’s take a look at all the current network connections. To do this, we enter the following netstat command, which is similar to the previous one, except that we use -a to show all sockets and not -l to show only the listening sockets.
$ sudo netstat -atupen
If you only want to see the ESTABLISHED connections. This is done by forwarding the output of netstat to grep.
$ sudo netstat -atupen | grep ESTABLISHED
ss command replaces the deprecated netstat command
The net-tools restore the availability of the obsolete Linux network commands, the following table shows the obsolete Linux “netstat” commands, and the new replacement commands with “ss”:
|Outdated commands||New commands|
|arp||ip n (ip neighbor)|
|ifconfig||ip a (ip addr), ip link|
|netstat||ss -t (for netstat -t), ss -u (for netstat -u)|
ip route (for netstat -r)
ip -s link (for netstat -i)
ip maddr (for netstat -g)
|route||ip r (ip route)|
ss – is the new utility to check sockets,
ss is used to dump socket statistics. It allows showing information similar to netstat.
Example of using ss instead of netstat (net-tools):
$ ss -atulpen4
In this tutorial, we have seen how to install the missing netstat command on a Debian-based Linux or Ubuntu using the net-tools package. We also learned some basic ways to use the netstat command to get started using it. Attention is also drawn to the ss command, which replaces netstat but has a different syntax.