← All reference

Common TCP/UDP Port Numbers

The port numbers developers actually look up — system services, web, mail, databases, message queues, containers and monitoring — grouped by category with a live filter. All data ships with the page.

A port number identifies a specific service on a host: an IP address gets the packet to the machine, the port gets it to the right process. Ports are 16-bit values (0–65535), and by convention servers listen on fixed, well-known numbers so clients know where to connect — SSH on 22, HTTPS on 443, PostgreSQL on 5432. This table covers the well-known and registered ports you'll meet in real infrastructure. Defaults are conventions, not rules: anything can be configured to listen anywhere.

System & network services

PortTCP/UDPServiceWhat it's for
20TCPFTP (data)FTP data channel in active mode; passive mode negotiates a high port instead
21TCPFTP (control)FTP command channel — logins, directory listings, transfer commands
22TCPSSHSecure shell; also carries SFTP, SCP and Git-over-SSH
23TCPTelnetLegacy remote terminal, plaintext — replaced by SSH, still seen on network gear
53TCP/UDPDNSName resolution; UDP for most queries, TCP for zone transfers and large responses
67UDPDHCP (server)DHCP server side — hands out IP leases to clients broadcasting from port 68
68UDPDHCP (client)DHCP client side of the lease exchange (BOOTP client)
69UDPTFTPTrivial FTP — PXE network boot, firmware and config transfer on LANs
88TCP/UDPKerberosKerberos authentication — the core of Active Directory logins
111TCP/UDPrpcbind / portmapperMaps ONC RPC program numbers to ports; required by classic NFS setups
123UDPNTPNetwork Time Protocol — clock synchronization
135TCPMS RPCMicrosoft RPC endpoint mapper — Windows domain and DCOM traffic
137–139TCP/UDPNetBIOSLegacy Windows networking: name service (137/UDP), datagram (138/UDP), session (139/TCP)
161UDPSNMPPolling network devices for metrics and status
162UDPSNMP trapsDevices pushing alerts to the monitoring station
179TCPBGPBorder Gateway Protocol — routing between autonomous systems
194TCPIRCIANA-assigned IRC port; real networks mostly use 6667 (plain) and 6697 (TLS)
389TCP/UDPLDAPDirectory lookups — users, groups, machines (Active Directory, OpenLDAP)
445TCPSMBWindows file sharing / SMB over TCP — also the classic ransomware attack surface
500UDPIKE (IPsec)Key exchange for IPsec VPN tunnels
514UDPSyslogTraditional syslog forwarding (TCP 514 is used by some daemons, 6514 for TLS)
631TCPIPP / CUPSInternet Printing Protocol; the CUPS admin interface
636TCPLDAPSLDAP over TLS
853TCPDNS over TLSEncrypted DNS (DoT); DNS over HTTPS uses 443 instead
873TCPrsyncrsync daemon mode (rsync over SSH uses 22)
1194UDP/TCPOpenVPNOpenVPN default; UDP preferred, TCP as fallback
4500UDPIPsec NAT-TIPsec NAT traversal — ESP wrapped in UDP to cross NAT devices
51820UDPWireGuardConventional WireGuard VPN port (configurable, no IANA assignment)

Web & proxies

PortTCP/UDPServiceWhat it's for
80TCPHTTPPlain HTTP — today mostly a redirect to 443
443TCP/UDPHTTPSHTTP over TLS; HTTP/3 (QUIC) runs on UDP 443
1080TCPSOCKSSOCKS4/5 proxy — what ssh -D gives you
3128TCPSquidSquid caching/forward proxy default
8080TCPHTTP alternateSecond web server on a box: Tomcat, reverse-proxy backends, dev proxies
8443TCPHTTPS alternateTLS on a non-privileged port — admin consoles, Tomcat SSL, ingress test setups
8888TCPHTTP alternateJupyter Notebook default; generic secondary web port

Email

PortTCP/UDPServiceWhat it's for
25TCPSMTPServer-to-server mail relay; blocked for outbound traffic by most cloud providers
110TCPPOP3Download-and-delete mail retrieval, plaintext
143TCPIMAPServer-side mailbox access, plaintext or STARTTLS
465TCPSMTPS (submission)Mail submission over implicit TLS — re-standardized in RFC 8314
587TCPSMTP submissionThe standard client-to-server submission port, upgraded with STARTTLS
993TCPIMAPSIMAP over implicit TLS — what modern mail clients actually use
995TCPPOP3SPOP3 over implicit TLS

Databases & caches

PortTCP/UDPServiceWhat it's for
1433TCPSQL ServerMicrosoft SQL Server default instance (1434/UDP is the browser service)
1521TCPOracleOracle Database TNS listener
2049TCP/UDPNFSNetwork File System; NFSv4 needs only this port
3306TCPMySQL / MariaDBMySQL and MariaDB client connections
5432TCPPostgreSQLPostgreSQL client connections
5984TCPCouchDBApache CouchDB HTTP API
6379TCPRedisRedis — cache, session store, queues; never expose it unauthenticated
7687TCPNeo4j BoltNeo4j's binary Bolt protocol (7474 is its HTTP interface)
8086TCPInfluxDBInfluxDB HTTP API — time-series writes and queries
9042TCPCassandraCassandra CQL native transport for client drivers
9200TCPElasticsearchElasticsearch / OpenSearch REST API
9300TCPElasticsearch transportElasticsearch node-to-node cluster traffic
11211TCP/UDPMemcachedMemcached; UDP mode is disabled by default since the 2018 amplification attacks
27017TCPMongoDBMongoDB — mongod and mongos router default

Messaging & queues

PortTCP/UDPServiceWhat it's for
1883TCPMQTTLightweight IoT pub/sub messaging, plaintext
2181TCPZooKeeperZooKeeper client port — coordination for Kafka (legacy mode), HBase, etc.
4222TCPNATSNATS client connections
5672TCPAMQP / RabbitMQAMQP 0-9-1 — RabbitMQ's main client port
8883TCPMQTT over TLSEncrypted MQTT — what cloud IoT brokers require
9092TCPKafkaApache Kafka broker listener for producers and consumers
15672TCPRabbitMQ managementRabbitMQ web management UI and HTTP API

Dev servers & local tooling

PortTCP/UDPServiceWhat it's for
3000TCPNode / React / Railscreate-react-app, Next.js, Express and Rails dev defaults — also Grafana
4000TCPJekyll / PhoenixJekyll serve and Phoenix dev server defaults
4200TCPAngularAngular CLI dev server (ng serve)
5000TCPFlask / registryFlask dev server and Docker Registry — collides with AirPlay on modern macOS
5173TCPViteVite dev server default
6006TCPStorybook / TensorBoardStorybook dev server; also TensorBoard's default
8000TCPDjango / generic devDjango runserver, python -m http.server, many ad-hoc dev servers
9000TCPPHP-FPM / SonarQube / MinIOHeavily overloaded: PHP-FPM FastCGI, SonarQube UI, MinIO S3 API
9418TCPGit daemonThe native git:// protocol — unauthenticated, read-only mirrors

Containers & orchestration

PortTCP/UDPServiceWhat it's for
2375TCPDocker API (plain)Unencrypted, unauthenticated Docker daemon socket — root on the host if exposed
2376TCPDocker API (TLS)Docker daemon with TLS client-certificate auth
2379TCPetcd (client)etcd client API — Kubernetes' state store
2380TCPetcd (peer)etcd server-to-server raft traffic
6443TCPKubernetes APIkube-apiserver — the endpoint kubectl talks to
10250TCPkubeletKubelet API on every node — logs, exec, metrics; keep it off the internet
30000–32767TCP/UDPNodePort rangeKubernetes' default range for NodePort services

Remote desktop & access

PortTCP/UDPServiceWhat it's for
3389TCP/UDPRDPWindows Remote Desktop; UDP transport speeds it up when available
5900TCPVNCVNC display :0; display :1 is 5901, :2 is 5902, and so on

Monitoring & logging

PortTCP/UDPServiceWhat it's for
3000TCPGrafanaGrafana web UI (shared with the Node dev-server convention)
5044TCPBeats / LogstashElastic Beats shipping logs into Logstash
5601TCPKibanaKibana / OpenSearch Dashboards web UI
8125UDPStatsDStatsD metric ingestion — fire-and-forget UDP counters and timers
9090TCPPrometheusPrometheus server UI and API
9093TCPAlertmanagerPrometheus Alertmanager
9100TCPnode_exporterPrometheus host metrics exporter (historically HP JetDirect raw printing)
24224TCP/UDPFluentdFluentd forward protocol for log shipping

How port numbers work

IANA divides the 16-bit port space into three ranges:

RangeNameMeaning
0–1023Well-known (system)Reserved for core services (HTTP, SSH, DNS). On Unix-like systems, binding to these traditionally requires root or CAP_NET_BIND_SERVICE.
1024–49151Registered (user)Registered with IANA for specific applications (PostgreSQL 5432, RDP 3389), but any process can bind them — many popular defaults here were never formally registered.
49152–65535Dynamic / ephemeralThe pool the OS picks from for the client side of a connection. Linux defaults to 32768–60999 (ip_local_port_range), overlapping the registered range.

A TCP connection is identified by the 4-tuple (source IP, source port, destination IP, destination port) — that's how one server port serves thousands of clients simultaneously. TCP and UDP port spaces are independent: TCP 53 and UDP 53 are separate registrations that happen to be the same service (DNS), and a port can be assigned to different things in each protocol. "Port in use" errors (EADDRINUSE) mean another process already bound that port on the same address — find it with lsof -i :PORT or netstat -ano on Windows.

About this reference

Port assignments follow the IANA Service Name and Transport Protocol Port Number Registry plus the de-facto conventions of widely used software (Docker, Kubernetes, dev servers) that shape what these ports mean in practice. Defaults shown are what stock installs use — production deployments often move them.

Related tools on this site: subnet math with the CIDR calculator, resolve records with the DNS lookup, and inspect certificates with the certificate decoder. The filter above runs entirely in your browser — nothing you type leaves the page.