What Are Port Numbers?
Port numbers are 16-bit unsigned integers (0–65535) that identify specific processes or services on a networked host. When your browser connects to a website, it connects to port 443 (HTTPS) or port 80 (HTTP) on the server. When you SSH into a machine, you connect to port 22.
Port Ranges
Ports are divided into three ranges defined by IANA (Internet Assigned Numbers Authority):
- Well-known ports (0-1023) — reserved for standard services like HTTP (80), HTTPS (443), SSH (22), DNS (53), and SMTP (25). These require root/admin privileges to bind on most operating systems.
- Registered ports (1024-49151) — assigned by IANA to specific services upon request. Examples include MySQL (3306), PostgreSQL (5432), and RDP (3389).
- Dynamic/private ports (49152-65535) — used for ephemeral connections. When your browser makes an outbound request, the OS assigns a random port from this range as the source port.
Security Considerations
Open ports are attack surface. Every port listening on a public interface is a potential entry point. Best practices include closing unnecessary ports with firewall rules (iptables, ufw, or cloud security groups), running services on non-default ports when practical, and regularly auditing with nmap or ss -tlnp.
Ports marked "High Risk" in this database are frequently targeted by automated scanners and botnets. If you're exposing these services, ensure they're properly hardened, patched, and ideally behind a VPN or jump host.