πŸ”’ All processing happens in your browser. No data is sent to any server.
FREE

TCP/UDP Port Reference

← All Tools
Port ↕ Protocol Service ↕ Description Category

What is TCP/UDP Port Reference?

TCP/UDP Port Reference is a searchable database of well-known network port numbers and their associated services. Look up any port number (0-65535) to see what protocol typically uses it, or search by service name (SSH, HTTP, DNS, FTP) to find its assigned port. Essential for firewall configuration, network troubleshooting, and security auditing.

Port numbers are divided into three ranges by IANA: Well-known ports (0-1023): assigned by IANA, require root/admin privileges to bind on Unix systems. Services like HTTP (80), HTTPS (443), SSH (22), DNS (53), SMTP (25). Registered ports (1024-49151): assigned by IANA for specific services, user-space applications can bind without privileges. Services like MySQL (3306), PostgreSQL (5432), Redis (6379), Docker (2375). Dynamic/private ports (49152-65535): used for ephemeral ports (client-side ports for outgoing connections), not assigned to specific services.

TCP (Transmission Control Protocol) is connection-oriented: before data flows, a three-way handshake establishes the connection (SYN β†’ SYN-ACK β†’ ACK). TCP guarantees ordered delivery. UDP (User Datagram Protocol) is connectionless: packets are sent without handshaking, some may arrive out of order or be lost. UDP is faster (lower overhead) and used for DNS, video streaming, VoIP, and gaming.

How to Use

  1. Search for a port number (e.g., '8080') to see what service typically uses it.
  2. Search by service name (e.g., 'postgres', 'redis') to find its default port.
  3. Filter by protocol (TCP, UDP, or both) to narrow results.
  4. Use the 'Common ports' quick list for the most frequently used services.
  5. Click any port for details on whether it requires root, common firewall rules, and security notes.

Examples

Look up SSH port

Result: Port 22 β†’ SSH (Secure Shell) β†’ TCP β†’ Requires root on Unix β†’ Change to non-standard port for security

Find database ports

Result: MySQL: 3306/TCP, PostgreSQL: 5432/TCP, MongoDB: 27017/TCP, Redis: 6379/TCP

Check if port is privileged

Result: Port 443 β†’ privileged (requires root/admin) β†’ use authbind or set CAP_NET_BIND_SERVICE for non-root

Frequently Asked Questions

What is the difference between TCP and UDP?

TCP (Transmission Control Protocol): connection-oriented (three-way handshake), guaranteed delivery, ordered delivery, error checking and retransmission, higher overhead. Use for: HTTP, HTTPS, SSH, FTP, email, databases. UDP (User Datagram Protocol): connectionless, best-effort delivery (no retransmit), unordered, low overhead. Use for: DNS (fast lookups), video streaming, VoIP, online games, DHCP. QUIC (HTTP/3) is a modern protocol that runs over UDP but adds reliability β€” it combines UDP's speed with TCP-like reliability at the application layer.

Why is port 80 HTTP and port 443 HTTPS?

Port 80 was assigned to HTTP when the protocol was standardized (RFC 1945, 1996). IANA assigned port 443 to HTTP over SSL/TLS when HTTPS was defined (Netscape, 1994; RFC 2818, 2000). These port numbers are historical convention β€” technically, you can run HTTP on any port, and many development servers use 8080 or 3000. Browsers assume port 80 for http:// and port 443 for https:// URLs, so you don't need to specify the port for standard sites.

What ports should I open in my firewall?

Minimal secure setup: only open ports for services you're actively running. For a web server: 80 (HTTP, for redirect to HTTPS) and 443 (HTTPS). For SSH access: 22 (or move to a non-standard port like 2222 to reduce brute-force attempts). Block all other inbound traffic by default. For databases: never expose 3306 (MySQL), 5432 (PostgreSQL), 27017 (MongoDB) to the internet β€” use SSH tunnels or VPN instead. Check open ports with: nmap -p 1-65535 yourserver.com or ss -tulnp (Linux).

What are ephemeral ports?

When your computer makes an outgoing TCP/UDP connection (client side), the OS assigns a random temporary source port from the ephemeral range β€” 49152-65535 (IANA standard; Linux uses 32768-60999 by default; Windows uses 49152-65535). This ephemeral port identifies your half of the connection while the destination uses its well-known port. Each connection gets a unique ephemeral port. You can see them with: ss -tn (Linux) or netstat -an (any OS). They're released when the connection closes.

How do I check what's listening on a port?

Linux/Mac: ss -tulnp | grep :PORT or lsof -i :PORT. Windows: netstat -ano | findstr :PORT, then tasklist to match PID. Docker: docker ps shows port mappings. On a remote host, nmap is the standard tool: nmap -sV -p PORT host. Nmap can also detect the service version running on the port (nmap -sV). For quick checks without nmap: nc -zv host port (netcat, checks if port is open without sending data).

Related Tools