Common Port Reference
Search 70+ common TCP/UDP ports with descriptions.
Your data never leaves your browser
| Port | Protocol | Service | Description | |
|---|---|---|---|---|
| 80 | TCP | HTTP | Standard unencrypted web traffic. Usually redirects to HTTPS (443) on modern sites. | |
| 443 | TCP | HTTPS | HTTP over TLS/SSL. The default for secure websites and APIs. | |
| 591 | TCP | FileMaker HTTP | FileMaker Pro web publishing over HTTP (alternate for port 80). | |
| 8000 | TCP | HTTP Alt / Django | Common alternative HTTP port; default for Django and many Python dev servers. | |
| 8008 | TCP | HTTP Alt | Official IANA alternative for HTTP; used by some appliances and admin panels. | |
| 8080 | TCP | HTTP Alt / Proxy | The most common HTTP alternative — Tomcat, proxies, caching services, and dev servers. | |
| 8443 | TCP | HTTPS Alt | Alternative HTTPS port, typical for Tomcat SSL and admin consoles. | |
| 20 | TCP | FTP (Data) | FTP data transfer channel in active mode. | |
| 21 | TCP | FTP (Control) | FTP command/control channel. Plain-text credentials — prefer SFTP or FTPS. | |
| 22 | TCP | SSH / SFTP | Secure Shell for encrypted logins, tunneling, and SFTP file transfer. | |
| 69 | UDP | TFTP | Trivial File Transfer Protocol. Lightweight, no auth — used for PXE boot and device firmware. | |
| 115 | TCP | SFTP (legacy) | Simple File Transfer Protocol, an early predecessor — not the SSH-based SFTP. | |
| 873 | TCP | rsync | rsync daemon protocol for fast incremental file synchronization. | |
| 989 | TCP | FTPS (Data) | FTP data channel over TLS/SSL. | |
| 990 | TCP | FTPS (Control) | FTP control channel over TLS/SSL (implicit FTPS). | |
| 2049 | TCP/UDP | NFS | Network File System for sharing directories between Unix/Linux systems. | |
| 25 | TCP | SMTP | Server-to-server email relay. Often blocked for outbound use by ISPs and cloud hosts. | |
| 110 | TCP | POP3 | Post Office Protocol v3 — downloads mail to one device, usually deleting it from the server. | |
| 143 | TCP | IMAP | Internet Message Access Protocol — mail stays on the server and syncs across devices. | |
| 465 | TCP | SMTPS | SMTP over implicit TLS. Deprecated once, now re-standardized for message submission. | |
| 587 | TCP | SMTP (Submission) | Message submission with STARTTLS. The recommended port for sending mail from clients. | |
| 993 | TCP | IMAPS | IMAP over TLS/SSL. The standard for secure mailbox access. | |
| 995 | TCP | POP3S | POP3 over TLS/SSL for encrypted mail retrieval. | |
| 53 | TCP/UDP | DNS | Domain Name System. UDP for queries, TCP for zone transfers and large responses. | |
| 67 | UDP | DHCP (Server) | DHCP server side — hands out IP addresses and network configuration to clients. | |
| 68 | UDP | DHCP (Client) | DHCP client side — receives address leases and renewals from the server. | |
| 88 | TCP/UDP | Kerberos | Kerberos authentication, central to Active Directory domains. | |
| 123 | UDP | NTP | Network Time Protocol for clock synchronization across systems. | |
| 137 | TCP/UDP | NetBIOS-NS | NetBIOS name service on legacy Windows networks. | |
| 138 | UDP | NetBIOS-DGM | NetBIOS datagram service on legacy Windows networks. | |
| 139 | TCP | NetBIOS-SSN | NetBIOS session service; older SMB file sharing transport. | |
| 161 | UDP | SNMP | Simple Network Management Protocol for monitoring routers, switches, and servers. | |
| 162 | UDP | SNMP Trap | Receives asynchronous SNMP trap alerts from managed devices. | |
| 179 | TCP | BGP | Border Gateway Protocol — the routing protocol of the internet backbone. | |
| 389 | TCP/UDP | LDAP | Lightweight Directory Access Protocol for directory services like Active Directory. | |
| 445 | TCP | SMB | Server Message Block — Windows file and printer sharing (SMB direct over TCP). | |
| 514 | UDP | Syslog | Syslog for forwarding log messages to a central collector. | |
| 515 | TCP | LPD | Line Printer Daemon protocol for network printing. | |
| 631 | TCP/UDP | IPP / CUPS | Internet Printing Protocol, used by CUPS on Linux and macOS. | |
| 636 | TCP | LDAPS | LDAP over TLS/SSL for encrypted directory access. | |
| 1194 | TCP/UDP | OpenVPN | Default port for OpenVPN tunnels (usually UDP). | |
| 1723 | TCP | PPTP | Point-to-Point Tunneling Protocol VPN. Legacy and considered insecure. | |
| 5060 | TCP/UDP | SIP | Session Initiation Protocol for VoIP call setup. | |
| 5061 | TCP | SIP over TLS | Encrypted SIP signaling. | |
| 23 | TCP | Telnet | Unencrypted remote terminal. Obsolete and insecure — use SSH instead. | |
| 3389 | TCP/UDP | RDP | Remote Desktop Protocol for Windows remote administration. | |
| 5900 | TCP | VNC | Virtual Network Computing for graphical remote desktop access. | |
| 1433 | TCP | Microsoft SQL Server | Default MSSQL database engine port. | |
| 1434 | UDP | MSSQL Browser | SQL Server Browser service for resolving named instances. | |
| 1521 | TCP | Oracle DB | Oracle Database listener default port. | |
| 3306 | TCP | MySQL / MariaDB | Default port for MySQL and MariaDB servers. | |
| 5432 | TCP | PostgreSQL | Default PostgreSQL server port. | |
| 5984 | TCP | CouchDB | Apache CouchDB HTTP API. | |
| 6379 | TCP | Redis | Redis in-memory data store. Never expose to the public internet without auth. | |
| 9042 | TCP | Cassandra (CQL) | Apache Cassandra native CQL transport. | |
| 9200 | TCP | Elasticsearch | Elasticsearch REST/HTTP API. | |
| 9300 | TCP | Elasticsearch (Transport) | Elasticsearch inter-node cluster communication. | |
| 11211 | TCP/UDP | Memcached | Memcached distributed memory caching system. | |
| 27017 | TCP | MongoDB | Default MongoDB server port. | |
| 27018 | TCP | MongoDB (Shard) | MongoDB shard server default port. | |
| 1883 | TCP | MQTT | MQTT lightweight publish/subscribe messaging, common in IoT. | |
| 4222 | TCP | NATS | NATS messaging system client connections. | |
| 5672 | TCP | AMQP (RabbitMQ) | Advanced Message Queuing Protocol — default RabbitMQ port. | |
| 8883 | TCP | MQTT over TLS | Secure MQTT over TLS/SSL. | |
| 9092 | TCP | Kafka | Apache Kafka broker default port. | |
| 15672 | TCP | RabbitMQ Management | RabbitMQ web management console and HTTP API. | |
| 61613 | TCP | STOMP (ActiveMQ) | STOMP text-based messaging protocol on ActiveMQ. | |
| 2181 | TCP | Zookeeper | Apache Zookeeper coordination service client port. | |
| 2375 | TCP | Docker (unencrypted) | Docker REST API without TLS. Extremely dangerous if exposed publicly. | |
| 2376 | TCP | Docker (TLS) | Docker REST API over TLS — the secure way to expose the Docker daemon. | |
| 3000 | TCP | Dev Server | Default for many dev servers: React (create-react-app), Rails, Grafana, Express demos. | |
| 5000 | TCP | Dev Server | Default for Flask and many Python/Node dev servers (also Docker Registry, UPnP on some systems). | |
| 5601 | TCP | Kibana | Kibana web UI for visualizing Elasticsearch data. | |
| 6443 | TCP | Kubernetes API | Kubernetes API server default port. | |
| 8081 | TCP | HTTP Alt | Common secondary admin/proxy port; React Native Metro runs on 8081 by default. | |
| 8500 | TCP | Consul | HashiCorp Consul HTTP API and web UI. | |
| 9000 | TCP | PHP-FPM / SonarQube | Used by PHP-FPM, SonarQube, Portainer, and many admin panels. | |
| 10250 | TCP | Kubelet API | Kubernetes kubelet HTTPS API on each node. | |
| 1080 | TCP | SOCKS Proxy | SOCKS proxy protocol, widely used for tunneling traffic. | |
| 3128 | TCP | Squid Proxy | Squid caching web proxy default port. |
No ports found.
Port Reference is a searchable, category-filtered directory of the TCP and UDP ports you actually run into — web and mail standards, databases, message queues, dev servers, and infrastructure services. Instead of hunting through forum threads to remember whether Elasticsearch is 9200 or 9300, look it up in seconds. It is built for developers writing firewall rules, DevOps engineers reading connection logs, and anyone auditing what is listening on a machine.
Searching and Filtering
The tool offers two ways to narrow roughly eighty entries. The search box takes a port number (443), a service name (redis), or a word from the description (proxy). Numeric queries use exact matching first; if nothing matches exactly, they fall back to a prefix match so 80 surfaces 8000, 8008, 8080, and 8443 alongside port 80 itself. Text queries are case-insensitive and search both the service name and the description.
Below the search box, category chips restrict the table to one family at a time: web, file transfer, email, network, remote access, databases, messaging, and dev tools. Each row shows the port number, its protocol, the service, and a one-line description, with a copy button for the number. Everything is a static local dataset, so results appear instantly with no network calls.
The Three Port Ranges
Port numbers run from 0 to 65535 and are split into three IANA ranges. Ports 0–1023 are the well-known ports assigned to core protocols — 22 SSH, 25 SMTP, 53 DNS, 80 HTTP, 443 HTTPS. Ports 1024–49151 are the registered ports where applications live, such as MySQL on 3306, PostgreSQL on 5432, Redis on 6379, and MongoDB on 27017. Ports 49152–65535 are dynamic or ephemeral ports the operating system hands out temporarily to the client side of each outbound connection.
The range does not by itself tell you whether a service is safe. A database on a registered port can be just as exposed as one on a well-known port if it is bound to a public interface without authentication.
Worked Lookups
| You search | What comes back | Why it matters |
|---|---|---|
443 | HTTPS, TCP | The destination port for almost all secure web and API traffic |
22 | SSH / SFTP, TCP | Encrypted remote login and file transfer share this port |
5432 | PostgreSQL, TCP | The default in connection strings and Docker Compose files |
9200 | Elasticsearch REST, TCP | Frequently left open on cloud hosts; should be firewalled |
5000 | Dev server, TCP | Flask and many Node dev servers; also Docker Registry and UPnP on some systems |
netstat-style LISTEN audit | Database and dev categories | Reveals services you did not intend to expose |
Two entries sit close enough to trip people up: Elasticsearch’s REST API is 9200 while its internal cluster transport is 9300, and MongoDB’s server is 27017 while shard servers default to 27018.
Development tools collide constantly on the same low thousands. React’s create-react-app and Express demos default to 3000, Flask and many Python servers to 5000, Django to 8000, and Tomcat to 8080, while React Native’s Metro bundler uses 8081. When two projects claim one port, the second fails with EADDRINUSE — the fix is to override the framework’s PORT setting rather than disabling the service. Searching the dev category is a quick way to identify which tool owns a port you found in lsof -i output.
Ports You Should Never Expose
Some defaults are dangerous the moment they face the internet. Redis (6379), MongoDB (27017), Elasticsearch (9200), and Memcached (11211) commonly ship without authentication and have been behind many large data breaches. Docker’s unencrypted API on 2375 is worse — it grants effectively root control over the host. Telnet (23) sends credentials in cleartext, and legacy PPTP (1723) uses broken encryption.
The safe pattern is to bind these services to 127.0.0.1, place them on a private subnet, or require a VPN or SSH tunnel, and firewall everything else. A port reference tells you which number a service uses; it does not make that service safe to publish.
TCP vs UDP and Dual-Protocol Services
Each entry states its protocol. DNS (53), LDAP (389), NFS (2049), SIP (5060), SMB-related NetBIOS services, and NTP (123) all appear with their actual transport, and several are dual-protocol. UDP suits small, retry-tolerant request-response traffic, while TCP carries anything that needs ordered, reliable delivery. SNMP is split across 161 for polling and 162 for traps, both UDP. When a firewall rule is not working, a protocol mismatch — allowing TCP when the service speaks UDP — is one of the first things to check.
Common Mistakes
- Opening a port by description instead of number. Cloud security groups take numbers, so convert the service name first.
- Assuming an ephemeral client port is a listening service. High source ports are the client’s side of a connection.
- Leaving a database port open “temporarily” for debugging. Automated scanners find it within minutes.
- Confusing 587 and 25. 587 is submission from clients; 25 is relay between servers and is often blocked.
- Forgetting that Docker publishes ports on
0.0.0.0by default. A-p 3306:3306mapping can expose MySQL beyond localhost unless you bind to127.0.0.1.
Related Tools
Frequently Asked Questions
Why do some services use both TCP and UDP on the same port number?
The port number and the transport protocol are separate namespaces, so port 53 can carry DNS over UDP for quick queries and DNS over TCP for zone transfers and large responses. Port 389 (LDAP) and 2049 (NFS) behave the same way. When opening a firewall, check whether the service needs one protocol or both.
Why does searching for 80 also show ports 8000, 8080, and 8443?
The search first tries an exact port match. If no entry has that exact number, it falls back to a prefix match, so 80 returns every port whose number starts with 80. Type the full number to get a single result, or use a keyword like http to see related services.
Which port should I open for a web app behind a reverse proxy?
Expose only 443 to the internet and keep the upstream app on an internal port such as 3000 or 8080. The proxy terminates TLS on 443 and forwards plain HTTP internally. Opening the app port directly bypasses the proxy's TLS, rate limiting, and access rules.
Why is port 25 often blocked by ISPs and cloud providers?
Port 25 is for server-to-server relay, and it is heavily abused by spam. Most consumer ISPs and many cloud hosts block outbound 25 to stop compromised machines from sending spam directly. Use 587 with STARTTLS for authenticated message submission from an application instead.
What is an ephemeral port, and why does my server log high client port numbers?
When a client opens a connection, the operating system assigns a temporary source port from the dynamic range, typically 49152 to 65535. Those high numbers in logs are the client's side of the connection, not a service the client is listening on. The destination port is the one that identifies the service.
How do I tell whether a listed port is TCP or UDP?
The Protocol column shows TCP, UDP, or TCP/UDP for each entry. As a rule, request-response services tend to use UDP and connection-oriented or reliable ones use TCP, but the table is authoritative. On the command line, ss -tlnp lists TCP listeners and ss -ulnp lists UDP listeners.
Reviewed by the HandyTools Hub team · Last updated