How to Ping Specific Port Number in Linux, Windows and MacOS

Introduction

The ping command is a network tool for checking whether a certain IP address or host is accessible using a network layer protocol called Internet Control Message Protocol (ICMP).

On the other hand, port numbers belong to transport layer protocols, such as TCP and UDP. Port numbers help identify where an Internet or other network message is forwarded when it arrives.

In this tutorial, you will learn how to ping a port in Windows, Linux, and macOS using different tools.

How to Ping Specific Port Number in Linux, Windows & macOS.

Prerequisites

  • A Linux, Windows, or macOS system.
  • Access to the terminal.
  • An account with sudo or root privileges.

Can You Ping a Specific Port?

Network devices use ICMP to send error messages and information on whether communication with an IP address is successful or not. ICMP differs from transport protocols as it is not used to exchange data between systems.

ping uses ICMP packets, and ICMP does not use port numbers, which means a port cannot be pinged. However, there are tools that can check if a port is open.

Some network tools and utilities simulate an attempt to connect to a specific port and wait to see if the target host responds. If there is a response, the target port is open. If not, the target port is closed, or the host cannot accept a connection because there is no service configured to listen for connections on that port.

How to Ping a Specific Port in Linux

There are several tools to check whether a port is open in Linux. They are:

Ping a Port Using Telnet

Telnet is a protocol for interactive communication with the target host via a virtual terminal connection. To ping a port using telnet, run:

telnet [address] [port-number]

The [address] is the domain or the host IP address, while [port-number] is the port you want to ping. For example, run the following:

telnet google.com 443
telner google.com 443 terminal output.

If the port is open, Telnet establishes a connection. Otherwise, it states a failure.

Note:: Learn how Telnet differs from SSH.

Ping a Port Using Netcat

Netcat (nc) reads and writes from connections using TCP and UDP protocols. This command-line tool performs many network operations.

To ping a port using Netcat, enter the following:

nc -vz [address] [port-number]

In the command, the -v argument enables detailed output, and -z checks if the port is open without sending data.

For example, run the following;

nc -vz google.com 443
nc -vz google.com 443 terminal output.

The output states whether the connection to the specified port is successful. If it is successful, the port is open.

Ping a Port Using Nmap

Nmap is a network tool used for vulnerability scanning and network discovery. The utility is also useful for finding open ports and detecting security risks.

Note: Be aware of legal ramifications regarding improper Nmap use, such as flooding a network or crashing a system.

Use the following command to ping a specific port with Nmap:

nmap -p [port-number] [address]

The -p option specifies the port or port range you want to scan on the target address. For example, run the following:

nmap -p 443 google.com
nmap -p 443 google.com terminal output.

The output informs the user about the port's state and service type, latency, and the time elapsed until the task completion.

To ping more than one port, enter:

nmap -p [number-range] [address]

The [number-range] is the port number range you want to ping, separated by a hyphen.

For example:

nmap -p 88-93 google.com
nmap -p 88-93 google.com terminal output.

Ping a Port Using curl

The curl command is designed to make HTTP/HTTPS requests. However, use curl to check if a specific port is open by attempting an HTTP or HTTPS connection to that port.

The syntax is:

curl [address]:[port-number]

For example, to check if port 443 (used for HTTPS) is open on Google using curl, run:

curl https://google.com:443
curl https://google.com:443 terminal output

How to Ping a Specific Port in Windows

Learn how to test the availability of a specific port in Windows using different tools. The following text explains how to ping a specific port in Windows using Telnet and PowerShell.

Ping a Port Using Telnet

Before using Telnet, make sure it is activated. To do that, follow these steps:

1. Open the Control Panel.

Control Panel

2. Click Programs.

Programs

3. Select Programs and Features.

Programs and Features

4. Select Turn Windows features on or off.

Turn Windows features on or off

5. Find Telnet Client and check the box. Click OK.

Turn on Telnet Client

You activated the Telnet Client on the system. After completing the activation, access the cmd and use the following command.

telnet [address] [port-number]

The [address] is the domain or the host's IP address, while [port-number] is the port number you want to ping. For example, run:

telnet google.com 443

If the connection is successful, you'll see a blank screen or a message indicating the connection is open.

Ping a Port Using PowerShell

PowerShell is a text-based shell that comes with Windows by default. To ping a port using PowerShell, enter the following in the PowerShell prompt window:

Test-NetConnection [address] -p [port-number]

For example, run:

Test-NetConnection google.com -p 443
Test-NetConnection google.com -p 443 Power Shell output

The TCP test is successful if the port is open and the connection is established. Otherwise, a warning message appears saying the TCP connection failed.

How to Ping a Specific Port in macOS

There are several ways to test whether a specific port is open on a remote server using tools available on macOS, such as Netcat, Telnet, and Curl.

Read the following text to learn how to ping a specific port in macOS.

Ping a Port Using nc (Netcat)

To test if a specific port is open, use the following command:

nc -zv [address] [port-number]

For example, run:

nc -zv google.com 443
nc -zv google.com 443 command line output

The -z option tells nc to scan for open ports without sending any data. The -v enables verbose mode. Therefore, it provides detailed output.

Ping a Port Using Telnet

The telnet command also checks if a specific port is open. To do it, run the following:

telnet <address> <port_number>

For example, run:

telnet google.com 443

You'll see a blank screen if the connection is successful.

Ping a Port Using curl

The curl command is helpful for testing HTTP or HTTPS ports (like 80 or 443). The syntax is:

curl -I [address]

For example, run the following:

curl -I https://google.com
curl -I https://google.com cli output

Conclusion

This article explained several ways to check whether a port is open in Linux, Windows, and macOS. It included instructions for popular tools such as Curl, Nmap, and Netcat.

Next, learn how to open a port in Linux.

Was this article helpful?
YesNo
Marko Aleksic
Marko Aleksić is a Technical Writer at phoenixNAP. His innate curiosity regarding all things IT, combined with over a decade long background in writing, teaching and working in IT-related fields, led him to technical writing, where he has an opportunity to employ his skills and make technology less daunting to everyone.
Next you should read
How to Install and Use Nmap Network Scanner on Linux
April 8, 2024

Learn how to install Nmap on a Linux based system and use it to retrieve valuable information from remote...
Read more
Nmap Commands - 17 Basic Commands for Linux Network
May 14, 2019

Nmap stands for Network Mapper. It is an open source tool for network exploration and security auditing. With...
Read more
Best Tools to Monitor Network Bandwidth on a Linux Server
September 19, 2024

There are many different tools for monitoring network traffic on a Linux server. Each option has its...
Read more
Linux Ping Command Tutorial with Examples
April 2, 2024

Most Linux users are familiar with the ping command and know how to use it in its basic form. However, there...
Read more