Learn

Common Port Numbers and Services

A practical guide to common TCP and UDP ports and what they are often used for.

Port numbers are 16-bit integers (ranging from 0 to 65535) that identify specific processes or services on a networked device. When combined with an IP address, a port number forms a complete network endpoint, allowing multiple services to run simultaneously on a single server.

Port number ranges

  • Well-known ports (0-1023) -- reserved for standard services like HTTP (80), HTTPS (443), SSH (22), SMTP (25), and DNS (53). These typically require root or administrator privileges to bind to.
  • Registered ports (1024-49151) -- assigned by IANA for specific applications. Examples include MySQL (3306), PostgreSQL (5432), and RDP (3389).
  • Dynamic/private ports (49152-65535) -- used for temporary connections and client-side ephemeral ports.

Most common ports

  • 22 -- SSH (secure remote access)
  • 25 -- SMTP (email sending)
  • 53 -- DNS (name resolution, TCP and UDP)
  • 80 -- HTTP (unencrypted web traffic)
  • 443 -- HTTPS (encrypted web traffic)
  • 587 -- SMTP submission (authenticated email sending)
  • 993 -- IMAPS (encrypted email retrieval)
  • 3306 -- MySQL database
  • 3389 -- RDP (Windows remote desktop)
  • 5432 -- PostgreSQL database

Why port numbers matter

Understanding port assignments is essential for firewall configuration, security auditing, network troubleshooting, and service monitoring. Unexpected open ports can indicate misconfigured services or potential security risks. Port scans are a routine part of security assessments to identify which services are listening and whether they should be exposed.