A Port is a logical number assigned to a process running on Linux. The port can be defined as an integer number between 0 to 65535. Ports with numbers 0–1023 are called system or well-known ports, while ports with numbers 49152-65535 are called dynamic, private, or ephemeral ports. If you are a Linux system administrator, you should know which ports are open and running on a remote system. There are several ways to find an open port on Linux.

This post will show the most reliable ways to find an open port on a remote Linux system.

Find Open Port Using Netcat Command

Netcat is a Linux command-line utility that reads and writes data across network connections using TCP or UDP protocol. It also allows us to find open ports on a remote Linux system.

By default, the Netcat utility is not included in the Linux system. You will need to install it manually using the package manager.

For Ubuntu and Debian-based operating systems, install the Netcat utility using the following command:

apt-get install netcat -y

For RHEL, CentOS, Fedora, and Rocky Linux operating systems, install the Netcat utility using the following command:

dnf install nc -y

The basic syntax to use the Netcat command is shown below:

nc [-options] [host_name or ip] [port_number]

For example, to check if port 80 is open on the remote host 172.20.10.2, run the following command:

nc -zv 172.20.10.2 80

If port 80 is open on a remote host, you will get the following output:

Connection to 172.20.10.2 80 port [tcp/http] succeeded!

Where:

  • -z : Sets nc to scan for listening daemons.
  • -v : Show output in verbose mode.

You can also specify a range of ports to be scanned:

nc -zv 172.20.10.2 40-80

The above command will scan for all ports between 40 and 80.

Also Read

Netstat Command Line Tips and Tricks

Find Open Port Using Nmap Command

Nmap is a powerful and very popular command-line utility used to perform network-related tasks. By default, the Nmap utility is not included in the Linux system. You will need to install it manually using the package manager.

For Ubuntu and Debian-based operating systems, install the Nmap utility using the following command:

apt-get install namp -y

For RHEL, CentOS, Fedora, and Rocky Linux operating systems, install the Nmap utility using the following command:

dnf install nmap -y

The basic syntax to use the Nmap command is shown below:

nmap [-options] [HostName or IP] [-p] [PortNumber]

For example, to get a list of all open ports on a remote host 172.20.10.2, run the following command:

nmap 172.20.10.2

You should see all open ports in the following output:

Starting Nmap 7.60 ( https://nmap.org ) at 2022-04-05 14:05 IST
Nmap scan report for vyompc (172.20.10.2)
Host is up (0.000078s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
23/tcp   open  telnet
80/tcp   open  http
7070/tcp open  realserver

Nmap done: 1 IP address (1 host up) scanned in 0.88 seconds

If you want to check if a particular port is open on the remote host, use the -p option:

nmap -Pn -p 80 172.20.10.2

You will get the following output:

Starting Nmap 7.60 ( https://nmap.org ) at 2022-04-05 14:08 IST
Nmap scan report for vyompc (172.20.10.2)
Host is up (0.00011s latency).

PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

Find Open Port Using Telnet Command

Telnet is another network protocol used to virtually access a remote computer. It also allows you to find open ports on remote systems. You can install it manually using the package manager.

For Ubuntu and Debian-based operating systems, install the Telnet utility using the following command:

apt-get install telnet -y

For RHEL, CentOS, Fedora, and Rocky Linux operating systems, install the Telnet utility using the following command:

dnf install telnet -y

The basic syntax to use the Telnet command is shown below:

telnet [HostName or IP] [PortNumber]

For example, to check if port 22 is open on a remote host 172.20.10.2, run the following command:

telnet 172.20.10.2 22

If port 22 is open, you will get the following output:

Trying 172.20.10.2...
Connected to 172.20.10.2.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.6

If port 22 is not open, you will get the following output:

Trying 172.20.10.2...
telnet: Unable to connect to remote host: Connection refused

Conclusion

This guide shows how to find an open port on a remote machine using different commands. You can now choose your preferred tool to scan the remote system and find an open port. Try it on VPS hosting from Atlantic.Net!