How to Check If a Port Is Open and What to Do If It Isn't

IP
By MyIPChecker Engineering Team
Published on October 15, 2026 • Reviewed for Technical Accuracy

To check if a specific network port is open and accessible from the public internet, use an online port verification utility like the MyIPChecker Port Checker, or execute native operating system commands like Test-NetConnection in Windows PowerShell or nc -zv (Netcat) on macOS and Linux. If a port is reported as closed or filtered, you can resolve the issue by: 1) Verifying that the target service is actively running and listening on all interfaces (0.0.0.0), 2) Creating a Port Forwarding rule in your router firmware, 3) Opening an inbound firewall rule in your operating system, and 4) Checking whether your ISP blocks common incoming ports.

Network ports are fundamental communication endpoints that allow operating systems to distinguish between concurrent network applications—such as directing web traffic to port 80/443, email to port 25, and SSH remote management to port 22. When setting up a home media server (Plex), a multiplayer game server (Minecraft), or a security camera feed, ensuring the required port is open to external traffic is a vital requirement. This guide outlines how port checking functions and details the exact steps to diagnose and open closed ports.

Understanding Port States: Open vs. Closed vs. Filtered

When an online port checker or security scanner tests a port, it transmits a TCP SYN packet (the first step of the TCP three-way handshake). The target device responds in one of three ways:

  1. Open (Listening): The target device receives the SYN packet and replies with a SYN-ACK packet. This confirms that an application is actively listening on that port number and perimeter firewalls permit external inbound connections.
  2. Closed: The target machine receives the SYN packet and immediately replies with a RST (Reset) packet. This indicates that traffic successfully reached the machine through the router and firewall, but no application or server software is currently running and listening on that port.
  3. Filtered (Blocked / Timed Out): The scanner receives no reply, and the connection attempt times out after several seconds. This signifies that an intermediary firewall—such as your broadband router, operating system firewall, or ISP filter—silently dropped the packet without replying.

You can test whether critical ports are reachable on your public IP using our free Open Port Checker Tool.

Common Network Service Ports Reference Table

The Internet Assigned Numbers Authority (IANA) manages 65,536 available TCP and UDP ports. The table below highlights the most common ports used by developers, sysadmins, and gamers:

Port Number Protocol Standard Service / Application Typical ISP Filtering Status
Port 21 TCP FTP (File Transfer Protocol - Control) Frequently blocked by residential ISPs
Port 22 TCP SSH (Secure Shell) & SFTP Usually open; high target for brute-force
Port 25 TCP SMTP (Simple Mail Transfer Protocol) Almost universally blocked on residential lines to prevent spam
Port 53 UDP / TCP DNS (Domain Name System) Open; sometimes intercepted by transparent proxies
Port 80 TCP HTTP (Unencrypted World Wide Web) Frequently blocked on residential accounts
Port 443 TCP HTTPS (Secure SSL/TLS Web Traffic) Usually open on modern connections
Port 3306 TCP MySQL Database Server Blocked by firewalls (never expose to public web)
Port 3389 TCP RDP (Microsoft Remote Desktop) High security risk; should only be accessed via VPN
Port 25565 TCP / UDP Minecraft Dedicated Server Open; standard for gaming port forwarding

How to Check If a Port Is Open: Command Line Methods

In addition to using our web-based port checking utility, you can test port reachability directly from your local terminal:

On Windows 10 & 11 (PowerShell):

Modern Windows includes a powerful native cmdlet that replaces legacy Telnet:

Test-NetConnection -ComputerName 192.168.1.100 -Port 80

If the port is open and listening, PowerShell will output: TcpTestSucceeded : True.

On macOS and Linux (Netcat):

Open a terminal window and run Netcat with the zero-I/O (-z) and verbose (-v) flags:

nc -zv 192.168.1.100 22

If open, Netcat will report: Connection to 192.168.1.100 port 22 [tcp/ssh] succeeded!.

Troubleshooting: 4 Reasons a Port Shows "Closed" and How to Fix It

If your port test reports closed or timed out, methodically resolve these four common network roadblocks:

Roadblock 1: The Application Is Not Actively Running or Bound to 127.0.0.1

A port cannot be "open" in the abstract; an application must actively bind to the network socket. Furthermore, if your application is configured to listen strictly on the loopback address (127.0.0.1 or localhost), it will reject connections originating from other devices. Ensure your server software (e.g., Apache, Nginx, or Minecraft) is bound to 0.0.0.0 (all network interfaces).

Roadblock 2: Missing Router Port Forwarding

Because consumer routers utilize Network Address Translation (NAT), incoming packets from the public internet do not know which computer on your local Wi-Fi to reach. You must establish an explicit Port Forwarding rule:

  1. Log into your router's administration portal (e.g., 192.168.1.1).
  2. Navigate to Advanced > Port Forwarding / Virtual Server.
  3. Create a new rule: enter the external port (e.g., 25565), the protocol (TCP/UDP), and the static private IP of your host computer (e.g., 192.168.1.150).
  4. Save settings and apply. Your router will now forward all incoming packets on that port directly to your computer.

Roadblock 3: Operating System Firewall Dropping Packets

Even if your router forwards the packet correctly, your operating system's local firewall (Windows Defender Firewall or Linux iptables/ufw) will block unsolicited inbound connections by default:

  1. On Windows, open Windows Defender Firewall with Advanced Security.
  2. Click Inbound Rules in the left sidebar, then click New Rule... in the right sidebar.
  3. Select Port, choose TCP, enter your port number, select Allow the connection, and apply.

Roadblock 4: ISP Inbound Port Filtering and Carrier-Grade NAT (CGNAT)

If you have configured router port forwarding and local firewalls correctly but the port remains blocked, your ISP is the culprit. Many residential broadband providers block ports 80, 443, and 25 to prevent residential users from hosting public web or mail servers. Furthermore, if your ISP uses Carrier-Grade NAT (CGNAT), your home router does not possess a true public IP address, making standard port forwarding technically impossible without setting up an SSH reverse tunnel or a VPN with port-forwarding support.

To learn how default gateways manage traffic across subnets, consult our guide on What Is a Default Gateway?.

For best practices on securing exposed ports against automated attacks, explore our guide: How to Secure Your Home Network in 30 Minutes.

By MyIPChecker Team — reviewed for accuracy

Our network engineering team tests and verifies all protocol definitions against authoritative IETF RFC standards to deliver clear, unbiased, and technically sound networking education.

Frequently Asked Questions

Opening a port creates an intentional pinhole through your firewall. If the application listening on that port is properly patched and protected by strong authentication (like SSH keys), the risk is minimal. However, opening insecure services (like unencrypted Telnet or unpatched Windows RDP) exposes your machine to automated botnet scanning and brute-force attacks within minutes.

TCP (Transmission Control Protocol) is connection-oriented, requiring a three-way handshake and guaranteeing that all packets arrive in order without loss (used for web browsing, SSH, and file downloads). UDP (User Datagram Protocol) is connectionless, prioritizing speed over reliability without handshakes (used for DNS queries, video streaming, and fast-paced multiplayer gaming).

No. Under standard operating system networking rules, only one application can bind to a specific Layer 4 protocol port on an individual IP address at any given moment. Attempting to launch a second server on the same port results in an immediate "Address already in use" socket error.

A DMZ (Demilitarized Zone) on a home router forwards all 65,535 incoming ports to a single designated computer, effectively removing all router firewall protection from that device. Using DMZ is dangerous and strongly discouraged; always forward only the specific port numbers required by your application.

Standard router port forwarding does not work under CGNAT because your router does not have a unique public IP. To bypass CGNAT, you can contact your ISP to request a static public IP, utilize tunneling software like Cloudflare Tunnels (cloudflared) or Tailscale, or deploy a VPS with an SSH reverse tunnel.

IP
Written & Reviewed by the MyIPChecker Technical Team

Our guides are authored and reviewed by network administrators and security researchers. We test commands, protocols, and network architectures directly across production Linux and Windows systems to guarantee factual, dependable technical reference material.

Recommended Diagnostics for This Topic