bitlvl
EN

Port number reference

Type a number or a service name to filter. The notes say what normally listens there and which ports are dangerous to expose to the internet. Every port number links to its own page: what runs on it, whether it is encrypted, whether it should be open, and how to check and firewall it.

 
PortProtoServiceNotes
1tcptcpmux
7tcp/udpecho
9udpdiscard / Wake-on-LANWoL magic packets are often sent to UDP 9
13tcp/udpdaytime
20tcpFTP dataFTP data channel (active mode)
21tcpFTPFTP control; plaintext, replace with SFTP
22tcpSSHSSH, SCP, SFTP, git over ssh
23tcpTelnetPlaintext remote shell; should be off
25tcpSMTPMail transfer between servers
37tcp/udptime
43tcpWHOIS
49tcp/udpTACACS+
53tcp/udpDNSDomain name resolution; TCP for large answers and zone transfers
67udpDHCP serverHands out IP addresses
68udpDHCP client
69udpTFTPTrivial file transfer (PXE boot, network gear)
70tcpGopher
79tcpfinger
80tcpHTTPWeb, unencrypted
88tcp/udpKerberosAuthentication (Active Directory)
110tcpPOP3Mail retrieval, plaintext
111tcp/udprpcbind / portmapperNFS and other ONC RPC services
113tcpident
119tcpNNTPUsenet news
123udpNTPTime synchronisation
135tcpMS RPCWindows RPC endpoint mapper
137udpNetBIOS nameWindows name service
138udpNetBIOS datagram
139tcpNetBIOS sessionOld SMB over NetBIOS
143tcpIMAPMail access, plaintext/STARTTLS
161udpSNMPNetwork monitoring
162udpSNMP trap
179tcpBGPBorder Gateway Protocol
194tcpIRC
389tcp/udpLDAPDirectory services; plaintext/STARTTLS
443tcp/udpHTTPSWeb over TLS; UDP for HTTP/3 (QUIC)
445tcpSMBWindows file sharing, Samba
464tcp/udpKerberos passwd
465tcpSMTPSMail submission over implicit TLS
500udpIKEIPsec key exchange
513tcp/udprlogin / whoBSD r-commands; obsolete
514udpsyslogRemote logging (tcp 514 is rsh/rlogin historically)
515tcpLPDLine printer daemon
548tcpAFPApple Filing Protocol
554tcpRTSPStreaming control (IP cameras)
563tcpNNTPSUsenet over TLS
587tcpSMTP submissionMail from clients, STARTTLS
601tcpsyslog (TCP)IANA-registered reliable syslog
631tcp/udpIPP / CUPSPrinting
636tcpLDAPSLDAP over TLS
749tcp/udpKerberos adminkadmin
853tcpDNS over TLS
873tcprsyncrsync daemon
990tcpFTPS (implicit)FTP over TLS from the first byte
993tcpIMAPSIMAP over TLS
995tcpPOP3SPOP3 over TLS
1080tcpSOCKSProxy
1194udpOpenVPN
1433tcpMS SQL Server
1434udpSQL Server BrowserInstance → port lookup; SQL Slammer
1521tcpOracle DB
1723tcpPPTPObsolete VPN
1812udpRADIUS auth
1813udpRADIUS accounting
1883tcpMQTTIoT messaging
1900udpSSDP / UPnP
1935tcpRTMPLive-stream ingest (OBS → server)
2049tcp/udpNFSNetwork file system
2082tcpcPanel
2083tcpcPanel (TLS)
2087tcpWHM (TLS)cPanel root panel
2181tcpZooKeeperClient port
2375tcpDocker APIUnencrypted; never expose
2376tcpDocker API (TLS)
2379tcpetcd clientKubernetes datastore
2380tcpetcd peer
2888tcpZooKeeper peers3888 for leader election
3000tcpdev serversGrafana, Rails, Node apps
3128tcpSquid proxy
3268tcpAD Global Catalog3269 over TLS
3306tcpMySQL / MariaDB
3389tcpRDPWindows Remote Desktop
3478tcp/udpSTUN / TURNWebRTC NAT traversal
3690tcpSubversion
3888tcpZooKeeper election
4000tcpdev serversPhoenix, Jekyll
4011udpPXE proxyDHCP
4200tcpAngular dev
4369tcpEPMDErlang port mapper (RabbitMQ)
4443tcpHTTPS alt
4500udpIPsec NAT-TIKE/ESP when behind NAT
5000tcpdev serversFlask, Docker registry, UPnP
5001tcpDSM (TLS) / iperf3
5060tcp/udpSIPVoIP signalling
5061tcpSIP over TLS
5173tcpVite dev
5222tcpXMPP client
5269tcpXMPP server-to-serverFederation
5353udpmDNSBonjour / Avahi discovery
5432tcpPostgreSQL
5555tcpADBAndroid debug bridge
5601tcpKibana
5672tcpAMQPRabbitMQ
5900tcpVNCRemote desktop
5938tcpTeamViewer
6033tcpProxySQLClient port; admin on 6032
6379tcpRedisNo auth by default; never expose
6432tcpPgBouncerPostgreSQL pooler
6443tcpKubernetes API
6514tcpsyslog over TLS
6667tcpIRCPlaintext; most networks
6697tcpIRC over TLS
6881tcp/udpBitTorrent6881–6889
7000tcpCassandraInter-node
7001tcpWebLogic / Cassandra SSL
8000tcpdev serversDjango, python -m http.server
8008tcpHTTP alt
8080tcpHTTP altTomcat, proxies, dev servers
8081tcpHTTP alt
8086tcpInfluxDB
8088tcpHTTP alt / Hadoop
8118tcpPrivoxyFiltering proxy, often in front of Tor
8123tcpClickHouse HTTP
8200tcpVault
8333tcpBitcoin
8443tcpHTTPS altTomcat, Plesk, Unifi
8448tcpMatrix federation
8500tcpConsul
8554tcpRTSP altMediaMTX, cameras
8883tcpMQTT over TLS
9000tcpPHP-FPM / SonarQube / Portainer
9001tcpTor ORPort / Supervisor
9042tcpCassandra CQLClient port
9050tcpTor SOCKS
9090tcpPrometheus
9092tcpKafka
9093tcpAlertmanager
9100tcpJetDirect / node_exporterRaw printing, Prometheus node exporter
9117tcpJackett
9200tcpElasticsearch
9300tcpElasticsearch transport
9418tcpgitgit:// protocol
9443tcpPortainer / HTTPS alt
9735tcpLightning Network
10000tcpWebmin
10250tcpkubelet
10443tcpHTTPS alt
11211tcp/udpMemcachedNever expose; UDP used in amplification attacks
15672tcpRabbitMQ management
16379tcpRedis Cluster busData port + 10000
20000udpRTP range end / UserminAsterisk 10000–20000
25565tcpMinecraft
25672tcpRabbitMQ inter-node
26379tcpRedis Sentinel
27015tcp/udpSource engine games
27017tcpMongoDB
30303tcp/udpEthereum P2P
32400tcpPlex
33060tcpMySQL X Protocol
33434udptracerouteBase port for UDP traceroute
49152tcp/udpDynamic / ephemeral range startsIANA ephemeral ports 49152–65535 (Linux uses 32768–60999)
51820udpWireGuard
65535tcp/udpHighest portEnd of the ephemeral range

The three port ranges

  • 0–1023, well-known: assigned by IANA to standard services. On Unix only root (or a process with CAP_NET_BIND_SERVICE) can listen on them.
  • 1024–49151, registered: assigned on request to vendors and projects (3306 MySQL, 5432 PostgreSQL, 6379 Redis). Any user can bind them.
  • 49152–65535, dynamic / ephemeral: used for the client side of connections. Linux actually uses 32768–60999 by default (net.ipv4.ip_local_port_range).

Ports that should never face the internet

Redis (6379), Memcached (11211), MongoDB (27017), Elasticsearch (9200), the Docker API (2375), etcd (2379) and most databases ship without authentication or with weak defaults, and are scanned continuously. Bind them to 127.0.0.1 or a private interface, put them behind a VPN or a firewall rule, and never rely on obscurity. Shodan indexes all of them within hours.

Finding what is listening

ss -tulpn            # Linux: listening TCP/UDP sockets with process names
sudo lsof -i :8080   # which process owns port 8080
nc -zv host 22       # is a remote port open?

A port that is “open” in ss but unreachable from outside is usually blocked by a firewall (ufw, nftables, a cloud security group, or Cloudflare only proxying 80/443).

Questions

What is the difference between TCP and UDP ports?

They are separate namespaces: TCP 53 and UDP 53 are different sockets, even though DNS uses both. A service can listen on one, the other or both.

Why can’t I bind port 80 without root?

Ports below 1024 are privileged on Unix. Run the service on a high port behind a reverse proxy, grant the binary CAP_NET_BIND_SERVICE (setcap), or use systemd socket activation.

What does “address already in use” mean?

Another process already listens on that port (ss -tulpn shows which), or a recently closed socket is still in TIME_WAIT. SO_REUSEADDR, or waiting a minute, fixes the latter.

Which ports does HTTP/3 use?

UDP 443. HTTP/3 runs over QUIC, which is UDP-based; browsers discover it through the Alt-Svc header or an HTTPS DNS record.