Well-Known Ports and What They Mean
A port is a 16-bit number that tells a computer which program should receive incoming network data. An IP address finds the right machine, and the port finds the right service on that machine, for example 443 for HTTPS or 25 for email delivery. Ports go from 0 to 65535, and a service "listens" on a port until a client connects.
What a port is
A connection is identified by five values: the protocol (TCP or UDP), the source address and port, and the destination address and port. Your browser picks a random source port for each connection, but the destination port is fixed by the service. That is why standard port numbers matter: a browser knows that https:// means port 443 without being told.
TCP and UDP
- TCP is connection-based. It sets up a connection, numbers the data, resends lost parts and delivers them in order. Web, email, SSH and databases use TCP.
- UDP sends independent datagrams with no connection and no resending. It has lower delay and less overhead. DNS queries, DHCP, NTP and many voice and video services use UDP.
TCP port 80 and UDP port 80 are different things. Some services use both, for example DNS on port 53. For more about how the layers fit together, see the OSI model.
Port ranges
The Internet Assigned Numbers Authority (IANA) divides the ports into three ranges:
| Range | Name | Use |
|---|---|---|
| 0 – 1023 | Well-known (system) ports | Core services such as HTTP, SSH and SMTP. On Unix-like systems, only privileged processes can listen here. |
| 1024 – 49151 | Registered ports | Applications registered with IANA, for example MySQL (3306) and PostgreSQL (5432). |
| 49152 – 65535 | Dynamic (ephemeral) ports | Temporary source ports chosen by clients. Some operating systems use a different default range, for example Linux uses 32768 – 60999. |
Registration is not a guarantee. Any program can listen on any free port, and some services run on non-standard ports, such as SSH on 2222.
Common ports and what they are used for
| Port | Protocol | Service | What it is for | |
|---|---|---|---|---|
| 20 | TCP | FTP data | File sharing | FTP data channel (active mode). |
| 21 | TCP | FTP | File sharing | File Transfer Protocol control channel. Sends passwords in clear text; prefer SFTP or FTPS. |
| 22 | TCP | SSH | Remote access | Secure Shell: encrypted remote login, SFTP and SCP file transfer, tunnels. |
| 23 | TCP | Telnet | Remote access | Unencrypted remote terminal. Should not be exposed to the internet. |
| 25 | TCP | SMTP | Mail transfer between servers. Many ISPs block outgoing 25 for home users. | |
| 53 | TCP/UDP | DNS | Network services | Domain Name System queries. UDP for most queries, TCP for large answers and zone transfers. |
| 67 | UDP | DHCP server | Network services | DHCP server: hands out IP addresses on a local network. |
| 68 | UDP | DHCP client | Network services | DHCP client side. |
| 69 | UDP | TFTP | File sharing | Trivial FTP, used for network boot (PXE) and device firmware. |
| 80 | TCP | HTTP | Web | Unencrypted web traffic. Today mostly redirects to HTTPS. |
| 110 | TCP | POP3 | Downloading mail from a mailbox (unencrypted). | |
| 123 | UDP | NTP | Network services | Network Time Protocol: clock synchronisation. |
| 135 | TCP | MS RPC | File sharing | Microsoft RPC endpoint mapper. Keep it off the internet. |
| 137 | UDP | NetBIOS name | File sharing | NetBIOS name service (legacy Windows networking). |
| 139 | TCP | NetBIOS session | File sharing | NetBIOS session service, legacy SMB. |
| 143 | TCP | IMAP | Reading mail on the server (unencrypted, or upgraded with STARTTLS). | |
| 161 | UDP | SNMP | Monitoring | Simple Network Management Protocol: device monitoring. |
| 162 | UDP | SNMP trap | Monitoring | SNMP traps: alerts sent by devices. |
| 179 | TCP | BGP | Network services | Border Gateway Protocol: routing between networks (ISPs). |
| 389 | TCP | LDAP | Directory | Directory access (Active Directory, OpenLDAP). |
| 443 | TCP/UDP | HTTPS | Web | Encrypted web traffic (TLS). UDP 443 carries HTTP/3 (QUIC). |
| 445 | TCP | SMB | File sharing | Windows file sharing. A frequent attack target — never expose it to the internet. |
| 465 | TCP | SMTPS | Mail submission over implicit TLS. | |
| 500 | UDP | IKE | VPN | IPsec VPN key exchange. |
| 514 | UDP | Syslog | Monitoring | System log forwarding. |
| 587 | TCP | Submission | Mail submission by clients, with STARTTLS and authentication. | |
| 636 | TCP | LDAPS | Directory | LDAP over TLS. |
| 853 | TCP | DNS over TLS | Network services | Encrypted DNS (DoT). |
| 873 | TCP | rsync | File sharing | rsync daemon for file synchronisation. |
| 993 | TCP | IMAPS | IMAP over TLS. | |
| 995 | TCP | POP3S | POP3 over TLS. | |
| 1194 | UDP | OpenVPN | VPN | OpenVPN default port. |
| 1433 | TCP | MS SQL | Databases | Microsoft SQL Server. |
| 1521 | TCP | Oracle | Databases | Oracle database listener. |
| 1701 | UDP | L2TP | VPN | L2TP VPN. |
| 1723 | TCP | PPTP | VPN | PPTP VPN — obsolete and insecure. |
| 1883 | TCP | MQTT | IoT and devices | MQTT messaging for IoT devices. |
| 2049 | TCP | NFS | File sharing | Network File System. |
| 3306 | TCP | MySQL | Databases | MySQL / MariaDB. Keep databases behind a firewall. |
| 3389 | TCP | RDP | Remote access | Windows Remote Desktop. Heavily brute-forced; put it behind a VPN. |
| 3478 | UDP | STUN/TURN | VoIP | NAT traversal for WebRTC, video calls and games. |
| 4500 | UDP | IPsec NAT-T | VPN | IPsec through NAT. |
| 5060 | TCP/UDP | SIP | VoIP | VoIP call signalling. |
| 5061 | TCP | SIP TLS | VoIP | SIP over TLS. |
| 5432 | TCP | PostgreSQL | Databases | PostgreSQL database. |
| 5900 | TCP | VNC | Remote access | VNC remote desktop. |
| 6379 | TCP | Redis | Databases | Redis in-memory store. Often left open without a password. |
| 8080 | TCP | HTTP alt | Web | Alternative HTTP port: proxies, app servers, admin panels. |
| 8443 | TCP | HTTPS alt | Web | Alternative HTTPS port. |
| 9100 | TCP | Printer | IoT and devices | Raw network printing (JetDirect). |
| 9200 | TCP | Elasticsearch | Databases | Elasticsearch REST API. |
| 11211 | TCP | Memcached | Databases | Memcached cache. |
| 25565 | TCP | Minecraft | Games | Minecraft Java Edition server. |
| 27015 | TCP/UDP | Steam / Source | Games | Source engine game servers (CS, TF2…). |
| 27017 | TCP | MongoDB | Databases | MongoDB database. |
| 51820 | UDP | WireGuard | VPN | WireGuard VPN default port. |
How to check if a port is open
You can test a port from outside with our port checker. It tries to open a TCP connection to the host and port you enter and reports one of three results:
- Open: a service accepted the connection. The host is reachable and something is listening.
- Closed: the host answered, but refused the connection (a TCP reset). The network path works, but no program listens on that port.
- Filtered: no answer came back before the timeout. A firewall is probably dropping the packets silently. It can also mean the host is offline.
From your own computer you can test with these commands:
Test-NetConnection -ComputerName example.com -Port 443 (Windows PowerShell)
nc -vz example.com 443 (Linux, macOS)
ss -tlnp (Linux: list local listening ports)
netstat -ano (Windows: list local connections)
Testing UDP is harder, because a lack of answer can mean either "open" or "filtered". For that reason, online port checkers mostly test TCP.
Security advice: ports you should not expose
Every open port is a possible entry point. Open only what you need, and close the rest. Some services should almost never be reachable from the whole internet:
- Telnet (23): sends passwords in clear text. Use SSH (22) instead.
- SMB (445) and NetBIOS (137-139): Windows file sharing. It has been a target of many worms and ransomware attacks. Never expose it to the internet.
- RDP (3389): remote desktop is a common target of password guessing. Put it behind a VPN or a gateway with multi-factor authentication.
- Databases: MySQL (3306), PostgreSQL (5432), SQL Server (1433), MongoDB (27017), Redis (6379) and Elasticsearch (9200). Allow only the application servers that need them.
- FTP (21): unencrypted. Use SFTP or FTPS.
- SSH (22): acceptable if you use keys, disable password login and limit the source addresses, but expect constant automated login attempts.
General rules: deny all incoming traffic by default and allow only specific ports; limit by source address where possible; keep the software behind each port updated; and scan your own servers regularly to compare what is open with what you expect. A port that is open without a known reason should be investigated.
Related reading
To see how ports relate to IP addresses, read what an IP address is. To test a specific service now, use the port checker.