Free Common Ports Reference & Port Lookup

Look up what runs on a TCP or UDP port and whether it belongs on the public internet

Why this isn't a live scanner: scanning someone else's server from our infrastructure would be a network-abuse problem, and a web page cannot open raw TCP or UDP connections from your browser. Scan hosts you own from your own machine instead โ€” the command builder below writes the nmap, netcat or PowerShell command for you. This reference explains what you find.
92 of 92 ports
  • 20
    FTP (data)TCPKeep internal

    File Transfer Protocol data channel. Unencrypted.

  • 21
    FTP (control)TCPKeep internal

    File Transfer Protocol commands. Credentials travel in clear text โ€” prefer SFTP on 22.

  • 22
    SSH / SFTPTCPExpose with care

    Encrypted remote shell and file transfer. Use key authentication and disable password login.

  • 23
    TelnetTCPKeep internal

    Unencrypted remote shell. Obsolete โ€” should never be exposed to the internet.

  • 25
    SMTPTCPExpose with care

    Mail transfer between servers. Many ISPs and cloud providers block outbound port 25 to limit spam.

  • 53
    DNSTCP/UDPExpose with care

    Domain name resolution. An open recursive resolver can be abused for amplification attacks.

  • 67
    DHCP (server)UDPKeep internal

    Assigns IP addresses on a local network. Should never be reachable from the internet.

  • 69
    TFTPUDPKeep internal

    Trivial File Transfer Protocol, used for network boot and device firmware. No authentication at all.

  • 80
    HTTPTCPSafe to expose

    Unencrypted web traffic. Normally redirected to HTTPS on 443.

  • 88
    KerberosTCP/UDPKeep internal

    Authentication for Windows Active Directory and other Kerberos realms. Keep it on the internal network.

  • 110
    POP3TCPExpose with care

    Mail download, traditionally removing messages from the server. Use POP3 over TLS on 995 instead.

  • 111
    rpcbind / portmapperTCP/UDPKeep internal

    Maps RPC services such as NFS to ports. Leaks service details and is used in amplification attacks.

  • 119
    NNTPTCPExpose with care

    Usenet news transfer. TLS version runs on 563.

  • 123
    NTPUDPExpose with care

    Time synchronisation. Misconfigured servers are used in amplification attacks.

  • 135
    Microsoft RPCTCPKeep internal

    Windows RPC endpoint mapper. Exploited by several worms โ€” keep it internal.

  • 137
    NetBIOS name serviceUDPKeep internal

    Legacy Windows name resolution. Leaks machine and user names.

  • 138
    NetBIOS datagramUDPKeep internal

    Legacy Windows browsing and messaging.

  • 139
    NetBIOS session (SMB)TCPKeep internal

    Older SMB file sharing over NetBIOS. Never expose publicly.

  • 143
    IMAPTCPExpose with care

    Mail access. Encryption is optional (STARTTLS); IMAP over TLS on 993 is preferred.

  • 161
    SNMPUDPKeep internal

    Device monitoring. Default community strings ("public") leak system detail.

  • 179
    BGPTCPExpose with care

    Internet routing between networks. Allow only your configured peers.

  • 389
    LDAPTCP/UDPKeep internal

    Directory services, unencrypted unless upgraded with STARTTLS. Use LDAPS on 636.

  • 443
    HTTPSTCP/UDPSafe to expose

    Encrypted web traffic โ€” TCP for HTTP/1.1 and HTTP/2, UDP for HTTP/3 (QUIC).

  • 445
    SMBTCPKeep internal

    Windows file sharing. A frequent ransomware entry point โ€” never expose publicly.

  • 465
    SMTPS (submission)TCPSafe to expose

    Mail submission over implicit TLS.

  • 500
    IPsec IKEUDPExpose with care

    Key exchange for IPsec VPNs (NAT traversal uses UDP 4500). Exposed on purpose on VPN gateways.

  • 514
    SyslogUDPKeep internal

    Log forwarding, unauthenticated and unencrypted. Accept it from your own hosts only.

  • 515
    LPD printingTCPKeep internal

    Legacy line printer daemon.

  • 548
    AFPTCPKeep internal

    Apple Filing Protocol, the older macOS file sharing.

  • 554
    RTSPTCP/UDPKeep internal

    Video streaming control, common on IP cameras. Exposed cameras are routinely found and viewed.

  • 587
    SMTP (submission)TCPSafe to expose

    Mail clients sending through their provider, secured with STARTTLS.

  • 631
    IPP / CUPSTCPKeep internal

    Internet Printing Protocol. Printers and print servers should not face the internet.

  • 636
    LDAPSTCPExpose with care

    LDAP over TLS. Still directory access โ€” restrict to trusted networks.

  • 853
    DNS over TLSTCPSafe to expose

    Encrypted DNS queries (DoT).

  • 873
    rsync daemonTCPKeep internal

    File synchronisation. Modules without authentication expose their files.

  • 990
    FTPS (control)TCPExpose with care

    FTP over implicit TLS. Data uses 989 or a negotiated port.

  • 993
    IMAPSTCPSafe to expose

    IMAP over TLS โ€” the recommended way to read mail.

  • 995
    POP3STCPSafe to expose

    POP3 over TLS.

  • 1080
    SOCKS proxyTCPKeep internal

    An open proxy gets abused to relay other people's traffic. Require authentication.

  • 1194
    OpenVPNUDPExpose with care

    Default OpenVPN port (TCP is also possible). Exposed on purpose on VPN servers.

  • 1433
    MS SQL ServerTCPKeep internal

    Microsoft SQL Server. Bind to localhost or a private network only.

  • 1434
    SQL Server BrowserUDPKeep internal

    Lists SQL Server instances. The 2003 Slammer worm spread through it.

  • 1521
    Oracle DBTCPKeep internal

    Oracle database listener. Should not face the internet.

  • 1701
    L2TPUDPExpose with care

    Layer 2 tunnelling for VPNs, normally wrapped in IPsec.

  • 1723
    PPTPTCPKeep internal

    Old VPN protocol with broken encryption. Replace it with WireGuard, OpenVPN or IPsec.

  • 1883
    MQTTTCPKeep internal

    IoT messaging without encryption. Use MQTT over TLS on 8883 and require logins.

  • 1900
    SSDP / UPnPUDPKeep internal

    Local device discovery. Internet-facing SSDP is used for amplification attacks.

  • 2049
    NFSTCP/UDPKeep internal

    Network File System. Keep it on the internal network.

  • 2083
    cPanel (HTTPS)TCPExpose with care

    Web hosting control panel. Admin logins attract brute-force attempts.

  • 2375
    Docker API (no TLS)TCPKeep internal

    Unauthenticated Docker daemon โ€” anyone who reaches it controls the host. Never expose.

  • 2376
    Docker API (TLS)TCPKeep internal

    Docker daemon with TLS client certificates. Still root-equivalent access โ€” keep it internal.

  • 2379
    etcd (client)TCPKeep internal

    Kubernetes cluster state store (peers use 2380). Holds secrets โ€” keep internal.

  • 3000
    Dev server / GrafanaTCPKeep internal

    Default for Node, Next.js and Rails development servers, and for Grafana. Development servers are not hardened for the internet.

  • 3306
    MySQL / MariaDBTCPKeep internal

    Database port. Exposing it publicly invites brute-force attempts.

  • 3389
    RDPTCP/UDPKeep internal

    Windows Remote Desktop. Put it behind a VPN โ€” it is heavily scanned.

  • 3478
    STUN / TURNTCP/UDPSafe to expose

    Helps video calls and WebRTC get through NAT. Public on purpose on TURN servers.

  • 4500
    IPsec NAT traversalUDPExpose with care

    IPsec VPN traffic wrapped in UDP so it passes through NAT routers.

  • 5000
    Flask / AirPlayTCPKeep internal

    Default for Flask development servers; macOS 12 and later also use it (and 7000) for AirPlay Receiver.

  • 5060
    SIPTCP/UDPExpose with care

    VoIP call signalling (TLS on 5061). Exposed PBXs face constant toll-fraud attempts.

  • 5173
    Vite dev serverTCPKeep internal

    Default port of the Vite development server. Keep it on localhost.

  • 5222
    XMPP (client)TCPExpose with care

    Jabber/XMPP chat clients (servers federate on 5269).

  • 5353
    mDNS / BonjourUDPKeep internal

    Local network service discovery. Should never leave the LAN.

  • 5432
    PostgreSQLTCPKeep internal

    Database port. Restrict with pg_hba.conf and a firewall.

  • 5601
    KibanaTCPKeep internal

    Elasticsearch dashboard. Put it behind authentication.

  • 5672
    AMQP (RabbitMQ)TCPKeep internal

    Message broker (management UI on 15672). Keep internal and change default credentials.

  • 5900
    VNCTCPKeep internal

    Remote desktop. Weak default auth โ€” tunnel it over SSH.

  • 5985
    WinRM (HTTP)TCPKeep internal

    Windows remote management (HTTPS on 5986). Remote command execution โ€” keep internal.

  • 6379
    RedisTCPKeep internal

    In-memory store. Unauthenticated by default โ€” bind to localhost.

  • 6443
    Kubernetes APITCPKeep internal

    Kubernetes control plane. Restrict to admin networks or a VPN.

  • 6667
    IRCTCPExpose with care

    Internet Relay Chat (TLS usually on 6697).

  • 8000
    Dev serverTCPKeep internal

    Default for Django's runserver and Python's http.server. Not meant for public traffic.

  • 8080
    HTTP alternateTCPExpose with care

    Proxies, app servers and admin panels. Often an unintentionally exposed backend.

  • 8086
    InfluxDBTCPKeep internal

    Time-series database HTTP API. Enable authentication and keep internal.

  • 8123
    Home AssistantTCPExpose with care

    Home automation web UI. Prefer a VPN or the vendor's remote access to opening the port.

  • 8443
    HTTPS alternateTCPExpose with care

    Secondary TLS port, common for admin interfaces.

  • 8883
    MQTT over TLSTCPExpose with care

    Encrypted IoT messaging. Require client authentication.

  • 8888
    Jupyter NotebookTCPKeep internal

    Runs arbitrary code for whoever can log in. Never expose without a strong password or token.

  • 9000
    PHP-FPM (FastCGI)TCPKeep internal

    Common PHP-FPM listener; reaching it directly can allow code execution. Bind to localhost.

  • 9042
    CassandraTCPKeep internal

    Cassandra database client port. Keep internal.

  • 9090
    PrometheusTCPKeep internal

    Metrics server with no authentication by default. Keep internal.

  • 9092
    KafkaTCPKeep internal

    Apache Kafka broker. Keep internal and enable SASL/TLS.

  • 9100
    Node exporter / raw printingTCPKeep internal

    Prometheus node exporter, and also the raw (JetDirect) printing port on many printers.

  • 9200
    ElasticsearchTCPKeep internal

    Search cluster REST API (nodes talk on 9300). Historically exposed without auth, leaking whole datasets.

  • 10000
    WebminTCPKeep internal

    Server administration panel. Restrict to a VPN or admin IPs.

  • 10250
    Kubelet APITCPKeep internal

    Per-node Kubernetes agent. Anonymous access allows running commands in pods.

  • 11211
    MemcachedTCP/UDPKeep internal

    Cache server. UDP memcached enabled record-breaking amplification attacks.

  • 19132
    Minecraft BedrockUDPExpose with care

    Minecraft Bedrock Edition server. Public on purpose for game servers.

  • 25565
    Minecraft JavaTCPExpose with care

    Minecraft Java Edition server. Public on purpose โ€” use a whitelist for private servers.

  • 27015
    Steam / Source serversTCP/UDPExpose with care

    Valve Source engine dedicated game servers.

  • 27017
    MongoDBTCPKeep internal

    Database port. Unauthenticated instances have been mass-ransomed.

  • 32400
    Plex Media ServerTCPExpose with care

    Plex remote streaming. Keep the server updated and require sign-in.

  • 51820
    WireGuardUDPSafe to expose

    Common WireGuard VPN port. It silently ignores unauthenticated packets, so exposing it is normal.

Check ports on a host you own

This builds a command for you to run in your own terminal โ€” nothing is sent or scanned from this page. Only scan machines you own or have written permission to test.

Enter a host to see the commands.

Common ports list: what runs on each TCP and UDP port

This page is a common ports list and port lookup, not a live port scanner. Type a port number (22, :3306 or 443/udp all work) or a service name (ssh, redis, database) and it shows what normally runs there, whether the port uses TCP, UDP or both, and whether it should face the internet. It covers 92 common services, from FTP on port 20 to WireGuard on 51820, and any number from 0 to 65535 is placed in the well-known, registered or dynamic range.

A web page cannot open raw TCP or UDP connections, and scanning other people's servers from ours would be abuse. To check a host you own, the page writes a ready-to-run nmap, netcat or PowerShell command that you run on your own computer. It runs in your browser; nothing is uploaded (you can check the Network tab in DevTools), so the host names and ports you type stay on your device.

After a lookup, pair it with the other network checks: the DNS lookup tool shows where a domain points, the SSL certificate checker shows when a domain's certificate expires and whether HTTPS answers on port 443, and the HTTP header viewer shows how a web server responds.

Table of Use: what to type and what you get

Searches and settings with the result each one gives
You haveType or setYou get
A port number in a firewall log3306, :3306 or 3306/tcpMySQL / MariaDB, TCP, marked Keep internal, plus a one-line explanation
A service you want the port forredis, ssh or postgresEvery listed service whose name or description matches
A kind of servicedatabase, vpn or mailEvery entry that mentions the word, such as MySQL and PostgreSQL for database
A number that is not in the list54321Its range (dynamic, 49152โ€“65535) and the lsof or netstat command to find the program using it
Only the ports that are fine to publishExposure: Safe to exposeThe nine low-risk entries, including 80, 443, 587, 993 and 51820
A quick check of your own serverHost 192.168.1.10, ports 22, 80, 443nmap -Pn -p 22,80,443 192.168.1.10, plus netcat and PowerShell versions
A block of portsPorts 22, 8000-8100nmap -Pn -p 22,8000-8100 and one netcat line per range; PowerShell is left out for long ranges

Features

  • 92 common services with the port, the protocol (TCP, UDP or TCP/UDP) and a plain-English description. Assignments follow the IANA port number registry and each program's documented defaults.
  • An exposure label on every entry: Safe to expose (9 entries), Expose with care (26) or Keep internal (57). It is guidance on whether a port belongs on the public internet, not a vulnerability scan.
  • Search by number or by word. A number matches ports that start with it, so 80 also lists 8000 and 8080. Text matches the service name, the description or the protocol. Forms like 22/tcp, tcp/22 and port 22 are understood.
  • A range for any port from 0 to 65535, using the RFC 6335 ranges, with notes such as Linux needing root below 1024 and the ephemeral ranges Windows (49152โ€“65535) and Linux (32768โ€“60999) use.
  • Command builder for a host you own. It accepts a host name or an IPv4 or IPv6 address and a port list with ranges, rejects bad input with a message, and merges repeated and overlapping ports.
  • Three command styles with Copy buttons: nmap, netcat and PowerShell. The PowerShell loop is offered for up to 50 ports with no range longer than 20 ports.
  • Nothing is scanned or sent. The builder only writes text for you to run.

To see who runs an IP address you found in a log, try the IP address lookup; for a domain name, use the WHOIS lookup.

How to look up a port and check your own host

  1. Type a number or a name in Search by port number or service, for example 3306, ssh or database.
  2. Read the port, service, TCP or UDP, exposure label and description. Use the Exposure menu to narrow the list.
  3. For a port that is not listed, read the range shown above the list and run the lsof or netstat command it suggests on your own machine.
  4. To test a server you own, go to Check ports on a host you own and enter the Host name or IP address and the Ports, for example 22, 80, 443.
  5. Click Copy beside the nmap, netcat or PowerShell command and paste it into a terminal on your own computer.
  6. Compare the result with what you meant to publish, and firewall anything else.

Any port you must leave open should have a strong login behind it, so generate one with the password generator. To compare two scan results from before and after a change, paste them into the text diff tool.

Who can use it

  • System administrators who want to confirm that only the services they meant to publish are reachable, and that databases and admin panels stay behind a firewall or VPN.
  • Developers who hit a port already in use on 3000, 5000, 5173 or 8000 and want to know what normally owns it.
  • Home lab and game-server hosts opening ports for Plex, Home Assistant or Minecraft, who want to know the risk first.
  • Help-desk and IT staff reading a firewall log or a netstat listing, then turning log times into readable dates with the timestamp converter.
  • Students learning which service sits behind which number.

FAQs

Is this a real port scanner that can scan my server?

No. A web page cannot open raw TCP or UDP connections from your browser, and scanning other people's servers from our infrastructure would be network abuse. Type your host and ports into the command builder instead and run the nmap, netcat or PowerShell command it writes on your own computer. Nothing is sent anywhere by this page.

Is port scanning legal?

Scanning systems you own or administer is normal practice. Scanning other people's systems without permission can breach computer-misuse laws and often breaks your internet or hosting provider's terms of service. Only scan hosts you own or have written permission to test. Running a scan from your own machine against your own server is the safe way to see what is exposed.

What do open, closed and filtered mean in an nmap scan?

Open means a program is listening and accepted the connection. Closed means the host answered but nothing is listening on that port. Filtered means no answer came back, usually because a firewall silently dropped the probe, so nmap cannot tell whether a service is there. A filtered result is common on well-protected servers.

What are well-known, registered and dynamic ports?

Ports 0โ€“1023 are well-known (system) ports assigned to standard services, such as SSH on 22 and HTTPS on 443. Ports 1024โ€“49151 are registered (user) ports that vendors can register with IANA. Ports 49152โ€“65535 are dynamic, or ephemeral, ports that are never assigned and are used for the client side of outgoing connections. These ranges come from RFC 6335.

Which ports should never be open to the internet?

Anything marked "Keep internal" in the list: databases (MySQL 3306, PostgreSQL 5432, MongoDB 27017, Redis 6379), Windows file sharing (SMB 445), remote desktop (RDP 3389, VNC 5900), container and cluster APIs (Docker 2375, Kubernetes 6443, Kubelet 10250) and development servers. Reach them over a VPN or an SSH tunnel instead.

What is the difference between a TCP port and a UDP port?

TCP and UDP each have their own set of 65,536 port numbers. TCP sets up a connection and guarantees ordered delivery, so web pages, SSH and email use it. UDP just sends packets with no connection, which suits DNS lookups, VPNs and video calls. Some services use both: DNS is on 53 for TCP and UDP, and HTTPS on 443 uses UDP for HTTP/3.

How do I find which program is using a port, such as 5000 on a Mac?

On macOS or Linux run "sudo lsof -i :5000" (or "ss -ltnp" on Linux). On Windows run "netstat -ano | findstr :5000" and look up the process ID in Task Manager. On macOS 12 and later, port 5000 is often taken by AirPlay Receiver, which you can turn off in your Mac settings, or you can move your development server to another port.

How do I check whether a port is open on my own server?

Enter the host and the ports in the command builder, then run the command on your own machine. "nmap -Pn -p 22,80,443 host" works on Linux, macOS and Windows. "nc -vz -w 3 host 22" tests one port on Linux or macOS. In PowerShell, Test-NetConnection reports True or False for a TCP port. Test from outside your network to see what the internet sees.