Skip to main content
PC

Port Checker

Check whether a specific port is open on any host or IP address — from our server to yours.

Did you like the tool? Thanks!
Share:

· ·

How to Use Port Checker

Enter a hostname or IP address and a port number, then click Check. The tool attempts a TCP connection from our server to that host:port and reports whether the port is open (connection accepted) or closed (connection refused or timed out). Quick-access buttons for 17 common ports let you check HTTP, HTTPS, SSH, SMTP, MySQL and more in one click.

About Port Checker

A port checker — also called a port scanner (though this tool scans one port at a time, deliberately) — answers a simple question: if something out on the internet tries to connect to this host on this port, will the connection succeed? This is the networking equivalent of knocking on a door to see if someone answers. It is one of the most common diagnostic actions in system administration and web development: confirming that a web server is actually listening on port 443 after deploying an SSL certificate, verifying that a MySQL database is not accidentally exposed to the public internet on port 3306, checking whether the IT team really did open port 587 on the corporate firewall for the new email relay, or diagnosing why an API client can reach the server but gets connection-refused errors (often a firewall allowing traffic on port 443 but the application only listening on localhost).\n\nThe tool attempts a TCP connection from our server to the host and port you specify using PHP\u0027s fsockopen function with a 3-second timeout. If the three-way TCP handshake completes (SYN, SYN-ACK, ACK), the port is reported as open and the connection is immediately closed — no data is sent, no banner is read, no authentication is attempted. If the connection is refused (TCP RST), the port is reported as closed, which usually means no service is listening on that port but the host is reachable. If the connection times out (no response in 3 seconds), the port is also reported as closed — the host is either unreachable, a firewall is silently dropping packets to that port, or the network path has high latency.\n\nA deliberate design decision keeps the tool simple and safe: it only accepts well-known service ports (1-1023 plus a handful of common alternatives like 3306, 5432, 6379, 8080, 8443). This prevents the tool from being used as a general port scanner for reconnaissance, and ensures it is only used for the legitimate diagnostics it is designed for. The server-side approach is necessary because browsers cannot open raw TCP connections to arbitrary hosts — they are restricted to HTTP(S) and WebSocket protocols. The connection appears to come from our server\u0027s IP, not from yours, which means this tool cannot test whether a firewall rule that is scoped to your specific IP address is working — it tests connectivity from our infrastructure perspective.\n\nA subtle but important point: an "open" result means TCP connectivity succeeded; it does not mean the service on that port is functioning correctly. A database server could accept TCP connections on port 3306 but reject every authentication attempt because of a misconfigured user table. A web server could accept connections on port 443 but serve a 500 Internal Server Error for every request. Port checking tests network-level reachability, not application-level health. For that, you would need a service-specific health check (an HTTP request to a health endpoint, a database login attempt with test credentials, etc.).\n\nRate limiting is conservative — 15 checks per minute — because each check involves a real network connection from the server. This is intended for occasional manual diagnostics, not for automated monitoring or bulk scanning. For production monitoring, a dedicated monitoring service with configurable intervals, alerting, and historical uptime data is the right tool.

Details & Tips

Security constraints apply: the tool only accepts ports from a predefined allowlist of common service ports. Any port not on this list — including most ephemeral ports (1024+), custom application ports, and ports commonly associated with malware — returns a validation error. This is a security boundary, not a technical limitation; allowing arbitrary port checks would turn the tool into a general port scanner usable for reconnaissance against third-party hosts.\n\nThe 3-second timeout is chosen as a balance between responsiveness and tolerance for high-latency connections. Most healthy services respond within 100-500ms. Geographically distant hosts or hosts behind load balancers may take 1-2 seconds. Over 3 seconds almost always indicates a network problem (packet loss, congestion, routing issues) rather than a slow service.\n\nThe connection is opened with stream_context_create using a short timeout, and the socket is explicitly closed with fclose immediately after a successful or failed connection attempt. No data is read from or written to the socket — this is a pure connectivity check, not a banner grab or protocol handshake.

Frequently Asked Questions

What does a port check actually test?
It tests whether a TCP connection can be established from our server to the specified host and port. It does NOT test whether the service running on that port is working correctly — just whether someone on the internet can reach it. If the three-way TCP handshake succeeds, the port is "open"; if the connection is refused or times out, it is "closed".
Why can I only check certain ports?
For security, the tool only accepts well-known service ports (1-1023 and a few common alternatives like 3306/MySQL, 5432/PostgreSQL, 6379/Redis, 8080/8443). This prevents the tool from being used as a general-purpose port scanner for reconnaissance. If you need to check an unlisted port, use a command-line tool like telnet or nc from your own machine.
Does "open" mean my service is working?
Not necessarily. TCP connectivity (the port check) and application health are different layers. A web server could accept connections on port 443 but serve errors for every request. A database could accept connections on port 3306 but reject all logins. Port checking tests network reachability only — for application health, use a service-specific health check.
Will the connection come from my IP address?
No — the TCP connection originates from our server, not from your browser. This means the port check tests connectivity from our infrastructure\u0027s perspective. It cannot test firewall rules that are scoped to your specific IP address.
Why does my port show as closed when I know the service is running?
Common causes: (1) the service is listening only on localhost (127.0.0.1) and not on the public interface, (2) a firewall (server-side or network-level) is blocking inbound connections to that port, (3) the service is bound to a different port, (4) the hostname resolves to an unexpected IP (try using the IP address directly), or (5) the server is behind a NAT or load balancer that requires connections from specific source IPs.
Can I check UDP ports with this tool?
No. This tool only checks TCP ports. UDP is a connectionless protocol — there is no "open" or "closed" in the same sense. Checking UDP connectivity requires sending a protocol-specific request and waiting for a response, which is beyond the scope of a generic port checker.
What if the hostname resolves to multiple IP addresses?
The tool connects to the first IP address returned by the DNS resolver. For domains with multiple A records (round-robin DNS), different lookups may resolve to different IPs. If you need to check a specific IP, enter the IP address directly instead of the hostname.
Is the port check rate-limited?
Yes — 15 checks per minute. Each check involves a real TCP connection from our server, and the rate limit prevents abuse. For occasional manual diagnostics this is more than adequate; for automated monitoring, use a dedicated monitoring service.
What is the timeout for a port check?
3 seconds. If the TCP handshake does not complete within 3 seconds, the port is reported as closed. Most healthy services respond within 100-500ms. Timeouts over 3 seconds almost always indicate a network problem rather than a slow service.
Could this tool be used to scan someone else\u0027s server without permission?
The port allowlist and rate limiting make this impractical for any kind of aggressive scanning. That said, the tool performs a legitimate network diagnostic — a TCP connection attempt is the standard way to check if a port is reachable, and is equivalent to what any web browser does when you type a URL. If you have a specific security concern about a server you do not own, consult the server owner or a security professional.

Part of These Collections

Also Available As

port checker, port scanner, open port check, test port connectivity, tcp port check, check if port is open, server port test, firewall test

Found a Problem?

Let us know if something with Port Checker isn't working as expected.

Thanks — we'll take a look.