Ports cheat sheet
Which port does that service use? Search 50 common ports with protocol and notes, and see which are registered and which are just defaults.
| Port | Protocol | Service | Kind | Note |
|---|---|---|---|---|
| 20, 21 | TCP | FTP (data, control) | well-known (IANA) | Plain text. Prefer SFTP over SSH. |
| 22 | TCP | SSH, SFTP, SCP | well-known (IANA) | Also used by Git over SSH. |
| 25 | TCP | SMTP | well-known (IANA) | Server to server mail; often blocked for clients. |
| 53 | TCP/UDP | DNS | well-known (IANA) | UDP for most queries, TCP for large answers and zone transfers. |
| 67, 68 | UDP | DHCP | well-known (IANA) | |
| 80 | TCP | HTTP | well-known (IANA) | |
| 110 | TCP | POP3 | well-known (IANA) | 995 for POP3 over TLS. |
| 123 | UDP | NTP | well-known (IANA) | Time synchronisation. |
| 143 | TCP | IMAP | well-known (IANA) | 993 for IMAP over TLS. |
| 161, 162 | UDP | SNMP | well-known (IANA) | |
| 389 | TCP/UDP | LDAP | well-known (IANA) | 636 for LDAP over TLS (LDAPS). |
| 443 | TCP/UDP | HTTPS | well-known (IANA) | UDP is used by HTTP/3 (QUIC). |
| 445 | TCP | SMB | well-known (IANA) | Windows file sharing. |
| 465 | TCP | SMTPS | well-known (IANA) | Implicit TLS mail submission. |
| 514 | UDP | Syslog | well-known (IANA) | 6514 for syslog over TLS. |
| 587 | TCP | SMTP submission | well-known (IANA) | Mail clients sending through a provider (STARTTLS). |
| 873 | TCP | rsync | well-known (IANA) | |
| 1433 | TCP | Microsoft SQL Server | registered (IANA) | |
| 1521 | TCP | Oracle Database listener | default (not IANA) | The conventional Oracle listener port; the IANA entry for 1521 is a different service. |
| 2049 | TCP/UDP | NFS | registered (IANA) | |
| 2181 | TCP | Apache ZooKeeper client | default (not IANA) | Kafka before KRaft uses it. |
| 2379, 2380 | TCP | etcd client and peer | registered (IANA) | Kubernetes control plane storage. |
| 3000 | TCP | Grafana, many Node dev servers | default (not IANA) | Common for local development. |
| 3306 | TCP | MySQL, MariaDB | registered (IANA) | |
| 3389 | TCP/UDP | RDP | registered (IANA) | Windows Remote Desktop. Never expose to the internet. |
| 4222 | TCP | NATS | registered (IANA) | |
| 5000 | TCP | Docker registry, Flask dev server | default (not IANA) | macOS AirPlay can occupy it. |
| 5005 | TCP | Java remote debugging (JDWP) | default (not IANA) | Convention: -agentlib:jdwp=...address=*:5005. |
| 5432 | TCP | PostgreSQL | registered (IANA) | |
| 5601 | TCP | Kibana | default (not IANA) | |
| 5672 | TCP | RabbitMQ (AMQP) | registered (IANA) | 5671 for AMQP over TLS. |
| 5900 | TCP | VNC | registered (IANA) | |
| 6379 | TCP | Redis | registered (IANA) | Do not expose to the internet without authentication. |
| 6443 | TCP | Kubernetes API server | default (not IANA) | |
| 8080 | TCP | Alternative HTTP, Spring Boot, Tomcat, Jenkins | registered (IANA) | Spring Boot default; change with server.port. |
| 8081 | TCP | Alternative HTTP, Nexus | default (not IANA) | Often used for a Spring Boot management port. |
| 8200 | TCP | HashiCorp Vault | default (not IANA) | |
| 8443 | TCP | Alternative HTTPS | default (not IANA) | Widely used for HTTPS on a non-standard port; IANA lists 8443 for a different service (pcsync-https). |
| 8500 | TCP | Consul HTTP API | default (not IANA) | |
| 9000 | TCP | SonarQube, MinIO API, PHP-FPM | default (not IANA) | |
| 9042 | TCP | Apache Cassandra (CQL) | default (not IANA) | |
| 9090 | TCP | Prometheus | default (not IANA) | |
| 9092 | TCP | Apache Kafka broker | default (not IANA) | |
| 9200, 9300 | TCP | Elasticsearch HTTP and transport | default (not IANA) | |
| 10250 | TCP | Kubernetes kubelet API | default (not IANA) | |
| 11211 | TCP/UDP | Memcached | registered (IANA) | |
| 15672 | TCP | RabbitMQ management UI | default (not IANA) | |
| 27017 | TCP | MongoDB | default (not IANA) | |
| 50000 | TCP | Jenkins inbound agents | default (not IANA) | Configurable in the security settings. |
The ports you keep looking up
Every developer eventually asks the same questions: which port does PostgreSQL use, is 9092 Kafka or something else, what is the debugging port for Java, why does the app refuse to start because 8080 is taken. This sheet collects the ports of the services you meet in Java, container and DevOps work, with the protocol and a short note, and a search box to filter them.
The Kind column matters: well-known (below 1024) and registered (1024 and up) mean the port is listed by IANA for that service, while default means that the product commonly ships with it but it is not an official registration, so it can be changed freely and may clash with something else. Spring Boot's 8080 is both; JDWP's 5005 is only a convention.
Working with ports
- Only one process can listen on a given address and port. "Address already in use" means another process, or a previous run still shutting down, has it.
- A service bound to
127.0.0.1is reachable only from the same machine; bind to0.0.0.0to accept outside connections (and then protect it with a firewall). - In containers, the port inside the container and the published host port are independent:
-p 8081:8080publishes container port 8080 on host port 8081.
The table is a reference, not a security policy: check your vendor's documentation for the version you run. It is static and works offline.
Frequently asked questions
What is the difference between well-known and registered ports?
The IANA registry divides ports into well-known (0 to 1023, historically needing root), registered (1024 to 49151) and dynamic or private (49152 to 65535). A "default" port in this table is the usual value a product ships with, which may not be registered.
Why does 8080 appear everywhere?
Ports below 1024 historically needed administrator rights, so application servers such as Tomcat chose 8080 as an easy alternative to 80. Spring Boot kept that default.
Which ports should never be open to the internet?
Databases (3306, 5432, 1433, 1521, 27017), caches (6379, 11211), remote desktop (3389), SMB (445), the Kubernetes kubelet and etcd. Put them behind a private network, VPN or bastion host.
How do I see what is listening on a port?
On Linux use ss -ltnp or lsof -i :8080; on Windows use netstat -ano | findstr :8080; on macOS use lsof -iTCP -sTCP:LISTEN.