Skip to content
gohacks.dev
DevOps

Common Port Numbers

A searchable list of the ports developers and sysadmins meet: SSH, HTTP, mail, DNS, databases, caches, queues, Kubernetes, Docker and local dev servers.

Free · No sign-up · Your inputs stay in your browser

Reference

Common port numbers

PortProtocolServiceNotes
20, 21TCPFTPData and control. Plain text; use SFTP (22) instead.
22TCPSSH, SFTP, scpThe one port to restrict by source IP.
23TCPTelnetUnencrypted. Should be closed everywhere.
25TCPSMTP (server to server)Mail relay between servers. Most cloud providers block it outbound by default.
53TCP/UDPDNSUDP for most queries, TCP for large responses and zone transfers.
67, 68UDPDHCPServer and client.
80TCPHTTP
110TCPPOP3Plain; 995 is POP3 over TLS.
123UDPNTPClock sync. Drift breaks TOTP, JWT expiry checks and TLS.
143TCPIMAPPlain or STARTTLS; 993 is implicit TLS.
161, 162UDPSNMPPolling and traps.
389TCPLDAP636 is LDAP over TLS.
443TCP/UDPHTTPSUDP 443 carries HTTP/3 (QUIC).
445TCPSMBWindows file sharing. Never expose it to the internet.
465TCPSMTP submission, implicit TLSPreferred over 587 by RFC 8314.
514UDPsyslogRemote logging.
587TCPSMTP submission, STARTTLSWhere an app sends mail through a provider.
636TCPLDAPS
853TCPDNS over TLS
873TCPrsync daemonrsync over SSH uses 22 instead.
993TCPIMAPS
995TCPPOP3S
1025TCPMailpit / MailHog SMTPLocal mail catcher (default).
1194UDPOpenVPN
1433TCPMicrosoft SQL Server
1521TCPOracle Database listener
1883TCPMQTT8883 is MQTT over TLS.
2049TCP/UDPNFS
2181TCPZooKeeper
2375TCPDocker API, no TLSExposing it is equivalent to giving away root.
2376TCPDocker API, TLS
2379, 2380TCPetcdClient and peer traffic.
3000TCPGrafana; Node and Rails dev serversConvention, not a standard.
3306TCPMySQL, MariaDBBind to 127.0.0.1 or a private network.
3389TCPRemote Desktop (RDP)
4317, 4318TCPOpenTelemetry OTLPgRPC and HTTP.
5173TCPVite dev server
5353UDPmDNSBonjour, .local names.
5432TCPPostgreSQL
5601TCPKibana
5672TCPAMQP (RabbitMQ)5671 with TLS; 15672 is the management UI.
6379TCPRedis, ValkeyNo auth by default on old versions. Never public.
6432TCPPgBouncerDefault listen port.
6443TCPKubernetes API server
6081, 6082TCPVarnishDefault HTTP listener and management interface.
7700TCPMeilisearch
8000TCPphp artisan serve, Django dev server
8025TCPMailpit / MailHog web UI
8080TCPHTTP alternateProxies, Tomcat, Jenkins, Laravel Reverb's default.
8108TCPTypesense
8200TCPHashiCorp Vault
8443TCPHTTPS alternate
8500TCPConsul HTTP API
9000TCPPHP-FPM (FastCGI); MinIO APIPHP-FPM listens here in most Docker images.
9090TCPPrometheus9093 Alertmanager, 9100 node_exporter.
9092TCPKafka
9200, 9300TCPElasticsearch, OpenSearchHTTP API and node transport.
9418TCPGit protocolRead-only, unauthenticated.
10250TCPKubelet API
11211TCPMemcachedUsed in UDP amplification attacks; disable UDP.
16686TCPJaeger UI
27017TCPMongoDB
51820UDPWireGuardDefault; configurable.

Well-known ports (0-1023) are assigned by IANA and need root to bind on Linux; ports above 1023 used by developer tools are conventions. A port being listed here says nothing about whether it should be reachable from the internet.

Assigned and conventional

Ports 0 to 1023 are well-known ports assigned by IANA, and binding to them on Linux needs root or the CAP_NET_BIND_SERVICE capability. Higher ports in this list are registered or simply conventional: Vite's 5173 and Laravel's 8000 are defaults, not standards. The authoritative list is the IANA service name and port number registry.

What should be public

On an internet-facing server, usually only 80 and 443, and 22 restricted to known addresses. Databases, Redis, Memcached, Elasticsearch and the Docker API have all been mass-exploited when exposed. ss -tlnp shows what is listening and on which address.

Share

Frequently asked questions

What port does MySQL use?
3306 by default. PostgreSQL uses 5432, Redis 6379 and MongoDB 27017.
How do I see which ports are open on my server?
ss -tlnp lists listening TCP sockets with their process; ss -ulnp does UDP. Scan from outside with nmap to see what is reachable.
Is what I paste sent anywhere?
No. The tool runs entirely in your browser with JavaScript. Nothing you type or paste is sent to our server or stored.

Keep planning

Similar tools