Common TCP/UDP ports โ€” the ones you'll actually see

There are 65,535 possible ports per protocol. Most are unused. Here are the ~100 you'll actually run into doing network admin, gaming, or troubleshooting.

Web and remote access

PortProtocolService
22TCPSSH โ€” secure shell, SFTP, SCP
23TCPTelnet โ€” plaintext, avoid
80TCPHTTP โ€” web, plaintext
443TCP/UDPHTTPS โ€” encrypted web (UDP for HTTP/3)
3389TCP/UDPRDP โ€” Windows Remote Desktop
5900TCPVNC โ€” remote desktop
8080TCPHTTP alternative โ€” proxies, dev servers
8443TCPHTTPS alternative โ€” admin panels, proxies

Email

PortProtocolService
25TCPSMTP โ€” server-to-server email
110TCPPOP3 โ€” email retrieval (legacy)
143TCPIMAP โ€” email retrieval, plain
465TCPSMTPS โ€” submission, implicit TLS
587TCPSMTP submission with STARTTLS โ€” preferred for clients
993TCPIMAPS โ€” IMAP over TLS
995TCPPOP3S โ€” POP3 over TLS

File transfer and sharing

PortProtocolService
20, 21TCPFTP โ€” data and control (largely deprecated)
69UDPTFTP โ€” trivial FTP, used by routers/PXE
137, 138UDPNetBIOS Name/Datagram
139TCPNetBIOS Session
445TCPSMB โ€” Windows file sharing, often blocked at firewalls
2049TCP/UDPNFS โ€” Unix file sharing

DNS and directory

PortProtocolService
53UDP/TCPDNS โ€” UDP for queries, TCP for zone transfers and large responses
853TCPDNS over TLS
389TCPLDAP โ€” directory access
636TCPLDAPS โ€” LDAP over TLS
88TCP/UDPKerberos โ€” authentication

Network management

PortProtocolService
67, 68UDPDHCP โ€” server / client
123UDPNTP โ€” network time
161, 162UDPSNMP โ€” query / trap
514UDPSyslog
500, 4500UDPIPsec / IKE โ€” VPN
1194UDP/TCPOpenVPN
51820UDPWireGuard (default)

VoIP, video, real-time

PortProtocolService
5060UDP/TCPSIP โ€” VoIP signaling
5061TCPSIP-TLS
10000โ€“20000UDPRTP โ€” VoIP media stream (range varies)
3478UDPSTUN โ€” NAT traversal
5349TCPTURN over TLS

Databases

PortProtocolService
1433TCPMicrosoft SQL Server
1521TCPOracle DB
3306TCPMySQL / MariaDB
5432TCPPostgreSQL
6379TCPRedis
27017TCPMongoDB

Common gaming ports

Game / servicePorts
Xbox LiveTCP 3074, UDP 88, 500, 3074, 3544, 4500
PlayStation NetworkTCP 80, 443, 1935, 3478โ€“3480; UDP 3478โ€“3479
SteamTCP 27015โ€“27050; UDP 27000โ€“27100
Minecraft (Java)TCP 25565
Minecraft (Bedrock)UDP 19132
Discord (voice)UDP 50000โ€“65535

Port ranges by category

How port numbers actually get used in real networks

Port numbers identify which service on a host a connection is destined for. The IP address gets a packet to the right machine; the port number gets it to the right process on that machine. TCP and UDP each have their own separate space of 65,536 possible port numbers.

The lower ports (0-1023) are called well-known ports and are reserved for standard services. Ports 1024-49151 are registered ports assigned by IANA to various applications. Ports 49152-65535 are the dynamic/private range, used for ephemeral connections initiated by clients.

The convention that servers listen on well-known ports and clients connect from ephemeral ports is what lets a firewall or a NAT gateway distinguish inbound service traffic from outbound client traffic. When your browser opens a connection to example.com on port 443, it does so from a random ephemeral port on your machine. The server responds to that ephemeral port, and your OS's connection tracking associates the response with the browser process that originated the request.

The ports I care about most in day-to-day admin work

Ports 22, 80, 443, 3389

SSH, HTTP, HTTPS, and RDP. These are the four ports I most often deal with in firewall configurations. SSH for administrative access to Linux systems. HTTP and HTTPS for web services. RDP for Windows remote desktop.

Rule of thumb for exposing these to the internet: SSH should only be accessible from known IP addresses or via a bastion host, HTTP/HTTPS is fine to expose but should redirect HTTP to HTTPS, RDP should never be directly exposed (use a VPN or Zero Trust access instead).

Ports 25, 465, 587, 993, 995, 143, 110

Email. Port 25 is SMTP between mail servers (often blocked outbound by residential ISPs). Port 587 is SMTP submission for authenticated clients (starttls). Port 465 is SMTPS (implicit TLS SMTP, controversial but widely used). Port 993 is IMAPS. Port 995 is POP3S. Ports 143 and 110 are the legacy plain versions of IMAP and POP3 โ€” should not be used in 2026.

Small business email troubleshooting almost always involves at least a few of these ports. Knowing which is which speeds up diagnosis considerably.

Ports 53, 5353, 853

DNS. Port 53 (both TCP and UDP) is standard DNS. Port 5353 is mDNS (multicast DNS, used by Bonjour and similar). Port 853 is DNS-over-TLS.

Ports 67, 68

DHCP. Server on port 67, client on port 68. Blocking DHCP traffic breaks address assignment for anything using the network, so these are almost never firewalled.

Ports 123

NTP. Time synchronization. Should be allowed outbound so systems can maintain accurate clocks (essential for TLS certificate validation, log correlation, Kerberos, and many other things).

Ports 445, 137, 138, 139

SMB/CIFS file sharing. Port 445 is modern SMB. Ports 137-139 are older NetBIOS-based sharing. Should never be exposed to the internet โ€” the WannaCry ransomware notably exploited port 445 exposed by carelessly-configured firewalls.

Ports 3306, 5432, 1433, 27017

MySQL, PostgreSQL, MSSQL, MongoDB. Database ports. Should not be exposed to the internet under any normal circumstances. Access should be from application servers only, through internal networks or VPN.

Ports 5060, 5061, 10000-20000

SIP. Port 5060 is standard SIP, port 5061 is SIP over TLS. RTP media traffic uses a range of UDP ports, commonly 10000-20000 but varies by PBX configuration. VoIP admins deal with all of these routinely.

Firewall considerations by port

Never-expose-to-internet ports

Ports that should essentially never be reachable from the public internet, no matter who your users are or what you're trying to accomplish: 445 (SMB), 3389 (RDP), 3306 (MySQL), 5432 (PostgreSQL), 1433 (MSSQL), 27017 (MongoDB), 5900 (VNC), 111 (RPC), 2049 (NFS), and various others that expose administrative or database services.

Exposing these directly leads to compromise very quickly. Instead, put them behind a VPN, a Zero Trust access solution, or an SSH bastion host.

Expose-carefully ports

Ports that can legitimately be exposed but require thoughtful configuration: 22 (SSH โ€” key-only auth, from restricted IPs, fail2ban), 25 (SMTP โ€” for mail servers only, with proper anti-spam), 80 and 443 (HTTP/HTTPS โ€” behind a WAF for anything sensitive), 21 (FTP โ€” really, replace with SFTP instead).

Ports that can be exposed freely

Ports where exposure is the point: 80 and 443 for web servers, 25 for public mail servers, 53 for authoritative DNS. These serve their function by being reachable from anywhere.

Common port-related troubleshooting scenarios

"Some services work but not others"

Usually a firewall issue. Check what specific port the failing service uses and whether it's allowed through every firewall between the client and server. Include the local host's firewall, the LAN's firewall, any intermediate cloud provider's security groups, and the destination host's firewall.

"The service is running but nothing can connect"

Verify with a local port scan that the service is actually listening on the port you think it is, and on the interface you think it is. netstat -tuln on Linux, ss -tuln on modern Linux, netstat -an on Windows.

Common gotcha: a service configured to listen only on 127.0.0.1 will accept local connections but nothing from the network. Change the bind address to 0.0.0.0 (all interfaces) or a specific network interface.

"Everything worked yesterday, now nothing works"

Something changed. Common culprits: firewall rule updated, service restarted with different config, cloud security group modified, ISP changed something upstream. Check recent changes first.

"Some ports are blocked by my ISP"

Residential ISPs commonly block outbound port 25 (SMTP) to prevent spam. Some block inbound low ports entirely. If you're trying to run a service that expects to receive on port 25, 80, 443, or similar, and it doesn't work from home, this is often the reason. Business internet service typically doesn't have these restrictions.

Ephemeral port ranges by OS

When you open a client connection from your machine, the OS picks an available port from this range and uses it as the source port. The range is different by OS which occasionally matters for firewalls with source-port restrictions.

Related tools

To understand what a specific IP is (before deciding whether to allow it through a firewall), use the IP Lookup tool. For subnet-based firewall rule planning, use the Subnet Calculator. For checking whether the actual service running on a public site accepts what it claims to, the SSL/TLS Cert Inspector connects to a specific host and port and shows what certificate is presented (useful for verifying that HTTPS services are actually reachable and using the right cert).