Networking / LOCAL TOOL

Well-Known Ports Reference

Search common TCP and UDP ports, what listens there, and the ones they are confused with.

Runs locally — input is never uploaded
A port number or a service name, e.g. 5432 or postgres
Protocol
PortsReady when you are

WHAT IT DOES

The ports you actually meet, and the ones next to them.

Search by number or by name. Each entry says what listens there, what is usually true when the port is open, and -- where there is one -- the neighbouring port it gets mistaken for: 3306 against 33060, 5432 against PgBouncer on 6432, 587 against 465, 5672 against RabbitMQ's web interface on 15672. A number with nothing registered is explained rather than shrugged at.

Why use it?

Use it to interpret an unfamiliar port in a firewall rule or service configuration and distinguish similar service, management, and encrypted endpoints.

How to use this tool

  1. Search by exact port number or service words, such as 5432 or PostgreSQL.
  2. Read the transport and context before applying the result. A service can listen on a non-default port, and this reference does not scan your host.

Details and limitations

  • The list is curated rather than imported. IANA registers about six thousand ports and almost none of them are the reason anyone is looking; an entry here has to be a port somebody actually meets in a firewall rule, a compose file, or an error message.
  • Searching a number matches that number only. Searching words matches the service name and the description, and every word must match, so two words narrow the list rather than widening it.
  • A number with nothing registered still gets an answer: which range it falls in, whether an operating system hands it out to outgoing connections, and what an unexpected listener there is likely to be.
  • Ports where exposure is a decision rather than a detail carry a note saying so -- an unauthenticated Redis, a Docker daemon on 2375 that is equivalent to root on the host, RDP on 3389.
  • Nothing is scanned or connected to. This is a reference that reads a list in your browser, not a port scanner, and it never sends a packet anywhere.

COMMON QUESTIONS

Port Reference questions

What is the ephemeral port range?
The range an operating system draws from when it needs a source port for an outgoing connection. Linux uses 32768-60999 by default and Windows uses 49152-65535, which is also the range IANA sets aside as dynamic. A server told to listen on a port in that range can collide with an outgoing connection, which produces a bind failure that looks random.
Why can my Flask app not bind to port 5000 on a Mac?
Because AirPlay Receiver is listening there. Recent macOS versions enable it by default, and it takes port 5000 and port 7000, so an app that has always used 5000 suddenly reports that the address is already in use. Turn AirPlay Receiver off in Sharing settings, or use another port.
What is the difference between 3306 and 33060?
3306 is MySQL's classic protocol, and 33060 is the X Protocol introduced in MySQL 8 for the document store. They are separate listeners speaking different protocols, so a client configured for one will not talk to the other -- which is a common and confusing cause of connection failures on an otherwise healthy server.
Does this scan a host to see which ports are open?
No. It is a reference that explains what a port number means, and it opens no connections at all. Everything runs in your browser, and nothing about your search leaves it.