What is PortMap?
A community-curated reference for what actually runs on any network port.
Every networked service listens somewhere. PortMap maps port numbers to the software, daemons, and protocols behind them — each entry backed by a verifiable source, all of it searchable and available through a clean JSON API.
It exists because the two canonical references both fall short in practice. The IANA registry is authoritative but narrow — it only lists formally assigned ports. Wikipedia's port list is broader but a sprawling table that's painful to filter or query. Neither documents the long tail: self-hosted apps, niche daemons, internal tooling, or malware C2 ports. PortMap mirrors both upstreams and adds reviewed community entries on top.
What you can do with it
-
Enrich scan output
Turn raw
nmap/masscanresults into context. Know what an open port likely runs before you touch it. -
Annotate logs & traffic
Resolve
dst_port=8086to InfluxDB at ingest time across firewall, NetFlow, or NIDS pipelines — straight from the API. -
Recon & attribution
Map an exposed-service inventory against known software defaults for OSINT, Shodan-style enumeration, and red-team recon.
-
Verify with sources
Every claim links to a receipt — a line of source code, a vendor doc, an RFC, or a man page you can check yourself.
Contribute a port
Know a port belongs to a piece of software and we don't have it — or our entry is wrong? Adding or correcting one takes under a minute.
- Open the submit form from any page, or hit + Add entry on a port page.
- Fill in the details — port, protocol(s), the application, and a short description.
- Cite a source. A source-code line, vendor doc, RFC, or man page. This is non-negotiable: every claim needs a receipt.
- Submit. An admin reviews it, then it goes live and into the API — or gets sent back with a reason.
Reference
A short primer on the terms used across the site.
Port ranges
0 – 1023
Core internet services — HTTP, HTTPS, SSH, DNS, SMTP. Binding here needs root or CAP_NET_BIND_SERVICE.
1024 – 49151
IANA-assigned to vendors (PostgreSQL 5432, Minecraft 25565). No special privileges to bind; lots of overlap in practice.
49152 – 65535
Ephemeral. The OS picks these as source ports for outbound connections; never assumed to belong to anyone.
Transport protocols
- TCP
- Reliable, ordered, connection-oriented. The default for anything needing guaranteed delivery — HTTP, SSH, email, databases.
- UDP
- Unreliable, connectionless, low-overhead. DNS, video, gaming, DHCP, QUIC. Fire-and-forget.
- SCTP
- Reliable like TCP, with multi-streaming and multi-homing. Telecom signalling and some WebRTC plumbing.
- DCCP
- Unreliable like UDP but with congestion control. Designed for streaming media; rarely seen in the wild.
Status terms
- Official
- The protocol is the actual deployed transport for this service. Real software listens here.
- Assigned
- IANA reserved the protocol for the service, but nothing uses it in practice.
- Reserved
- Set aside by the spec (e.g. port 0) and not available for general assignment.
- Unofficial
- A widespread use that was never formally assigned. Plenty of self-hosted apps land here.