Server

Port Checker

Check common TCP ports (FTP, SSH, HTTP, HTTPS, MySQL, RDP, and more) on a host.

What does the port checker do?

Reviewed by Prabath Thalangama · Last updated

The port checker tries to open a TCP connection to a host on each port you choose and reports which ports accept the connection from the public internet. By default it tests 12 common service ports, from SSH and SMTP to HTTPS, MySQL and RDP, and it warns when a risky service is exposed.

The default ports are 21 (FTP), 22 (SSH), 23 (Telnet), 25 (SMTP), 53 (DNS), 80 (HTTP), 110 (POP3), 143 (IMAP), 443 (HTTPS), 3306 (MySQL), 3389 (RDP) and 8080. You can test up to 25 ports of your choice in one scan.

A port shows as open when the TCP handshake completes. Anything else, whether the host refused the connection, a firewall dropped it, or the attempt timed out, shows as not open. The test is TCP only; UDP services such as DNS over UDP or WireGuard are not tested.

How do I check if a port is open?

  1. Enter the public host name or IP address of the server. Private addresses (10.x, 192.168.x and so on) cannot be tested from the internet.
  2. Keep the default ports or enter the ones you want to test.
  3. Compare the open ports with the services you intend to expose, and close the rest.

How to read the results

Port and service
The port number and the service normally found on it.
Open / not open
Whether a TCP connection succeeded from our server.
Findings
A warning when Telnet (23), MySQL (3306) or RDP (3389) is reachable from the internet. These services are frequent targets for brute-force attacks and should sit behind a VPN or firewall allow-list.

Why is my port not open?

The service only listens on localhost

A service bound to 127.0.0.1 cannot be reached from outside. Check the listening address on the server.

sudo ss -tlnp | grep ':443'
# 127.0.0.1:443 = local only, 0.0.0.0:443 or [::]:443 = all interfaces

A firewall or security group blocks it

Allow the port in the host firewall and in any cloud security group or network ACL in front of the server.

# firewalld
sudo firewall-cmd --permanent --add-service=https && sudo firewall-cmd --reload
# ufw
sudo ufw allow 443/tcp

Port 25 is blocked by your provider

Most residential ISPs and many cloud providers block outbound and sometimes inbound port 25 to stop spam. Mail servers need a provider that allows it, or a relay service.

NAT or port forwarding is missing

A server behind a home or office router needs a port-forwarding rule from the public IP to the server's private address.

Examples and command-line equivalents

Test a port from the command line

nc -zv example.com 443

# Bash without netcat
timeout 3 bash -c '</dev/tcp/example.com/443' && echo open || echo not open

Scan several ports (only hosts you own or may test)

nmap -Pn -p 22,80,443,3306 example.com

Frequently asked questions

Why does a port show open here but not from my laptop?

Your own network may block outbound traffic on that port, or a VPN may route you differently. This test shows what the public internet can reach.

Is it legal to scan ports?

Only test hosts you own or have permission to test. Checking a handful of ports on your own server is routine; scanning other people's networks may break their terms or local law.

Why is port 3306 flagged as risky?

Database servers are constantly probed for weak passwords and known vulnerabilities. Keep MySQL reachable only from your application servers, or over an SSH tunnel or VPN.

Further reading

All Network tools →