Start from the port you are stuck on. Every page names the service, says whether it should ever be reachable from the internet, and gives the exact macOS, Linux and Windows command that tells you which process is holding it.
| Port | Service | Transport | What runs there |
|---|---|---|---|
| 21 | FTP | TCP | FTP's control connection — the port that carries the commands and the numbered replies, while the files themselves move over a second connection on a port nobody told your firewall about. |
| 22 | SSH | TCP | The port sshd listens on — and behind it `scp`, `rsync`, `git` over SSH, tunnels and SFTP, which is why one refused connection here breaks five different things at once. |
| 23 | Telnet | TCP | The plaintext remote-terminal port, still the default admin interface on switches, cameras and embedded boards — and the port people open by accident and get scanned on within minutes. |
| 25 | SMTP | TCP | The server-to-server mail relay port — the one your app should almost never dial, and the one that times out on a cloud VM because the provider blocks it, not because the mail server is down. |
| 53 | DNS | TCP/UDP | The name-resolution port, on UDP and TCP — and on most modern Linux desktops it is already taken by systemd-resolved, which is why your dnsmasq or Pi-hole will not start. |
| 80 | HTTP | TCP | The plain HTTP port. Mostly a redirect to 443 these days — but closing it breaks certificate renewal, and binding it as a normal user fails before your server ever starts. |
| 443 | HTTPS | TCP/UDP | The HTTPS port — and, since HTTP/3, a UDP port as well, so a TCP-only check can tell you nothing is listening while half your traffic is being served. |
| 3306 | MySQL | TCP | The port a MySQL, MariaDB or Percona server listens on for the classic client protocol — and the one your driver reports it cannot reach. |
| 3389 | RDP | TCP/UDP | The Remote Desktop listener on Windows — the port that is already taken when the service will not start, and silently dropped when the client just spins. |
| 5432 | PostgreSQL | TCP | Where a PostgreSQL cluster listens — and, when psql refuses, the port that is either loopback-only, occupied by a second cluster, or gated by pg_hba.conf. |
| 5900 | VNC | TCP | The base port of the RFB protocol that VNC speaks — and the reason a viewer refuses to connect while the server sits happily on 5901. |
| 6379 | Redis | TCP | The port a Redis server listens on for RESP — the one your client says it cannot reach, and the one an exposed cache gets found on within hours. |
| 8080 | HTTP alternate | TCP | The port a dev server, a Tomcat instance or a proxy grabs when 80 is taken — and the one that is already taken when you need it. |
| 8443 | HTTPS alternateNot IANA assigned | TCP | The unprivileged twin of 443: TLS on a port an ordinary user can bind, and the number Tomcat and most appliance admin consoles reach for. |
| 27017 | MongoDB | TCP | Where mongod and mongos listen by default — and the port a driver spends thirty silent seconds failing to select a server on. |