🔐 Port Scanner

Get the exact nmap, PowerShell, or Linux command for scanning any host, plus an instant browser check of whether its common web ports are actually answering.

Ask any network engineer what the first tool they reach for during an outage is, and "port scanner" comes up almost every time — not because it's flashy, but because half of all connectivity problems boil down to one simple question: is anything actually listening where it's supposed to be? This page gets you the exact command to answer that for real, on your own machine, plus a browser-based sanity check for the two web ports almost every host cares about most, along with a genuinely deep reference on how port scanning works, where it helps, and where it quietly misleads people.
⭐ ToolsNovaHub Pro Tip
Before scanning anything beyond your own infrastructure, get written permission. It sounds like overkill for a "quick check," but a scan that trips someone else's intrusion detection system can trigger an abuse report before you've even had a chance to explain yourself.
⚠️ Common Beginner Mistake
Reading "closed" and "filtered" as the same thing. They're not, and mixing them up sends a lot of people chasing a firewall rule that was never the actual problem — a closed port means something answered and said no; a filtered one means nothing answered at all.

🔍 What Is a Port Scanner?

A port scanner checks a range of numbered communication channels on a host to work out which ones have a service actively listening. Think of an IP address as a building and each port as a numbered door — a scanner walks the row of doors and notes which ones open, which ones are bolted shut, and which ones don't respond to knocking at all. That third category turns out to matter more than most beginners expect, and we'll come back to it in detail.

The tool itself is old, but the question it answers hasn't gone stale: is this the service I expect, running where I expect it, reachable the way I expect it to be? Sysadmins run it after deploying a new firewall rule to confirm the rule actually did what it was supposed to. Security teams run it to catch a database port someone accidentally left open to the world. Developers run it locally to check whether their dev server actually started, or whether something else already grabbed the port. Different job titles, same underlying question.

What this page gives you is twofold: a command generator that hands you the exact, correct syntax for whichever tool you have installed — nmap, PowerShell's Test-NetConnection, or plain netcat — so you're not hunting through man pages, plus an honest browser-based check of the two ports that matter for almost every public-facing website. It won't pretend to run a full 65,535-port scan inside your browser tab, because that's genuinely not something a browser is built to do, and a tool that faked it would be actively misleading you.

🔌 Ports, TCP, and UDP in Plain Terms

Every device on a network has one IP address but can run dozens of services simultaneously — your laptop might be running a web browser, an email client, and a VPN connection all at once, all sharing that same address. Ports are what makes that possible: a 16-bit number, from 0 to 65535, that tells the operating system which specific application a given piece of incoming traffic belongs to. Without ports, an IP address alone couldn't tell your machine whether an incoming packet was meant for your browser or your mail client.

Most services run over one of two transport protocols. TCP (Transmission Control Protocol) is connection-oriented — it establishes a verified session before any real data moves, tracks what's been delivered, and resends anything lost along the way. Web servers, SSH, email, and databases almost universally run on TCP because that reliability matters for them. UDP (User Datagram Protocol) skips all of that ceremony — no handshake, no guaranteed delivery, no built-in retransmission — trading reliability for speed and lower overhead. DNS queries, streaming media, VoIP, and online gaming frequently lean on UDP specifically because a dropped packet here and there matters less than raw latency.

That distinction isn't academic when it comes to scanning: TCP's handshake gives a scanner a clean, unambiguous way to confirm a port is open, while UDP's lack of a handshake makes UDP scanning inherently slower and noticeably less certain, a theme that comes up repeatedly throughout this guide.

🔢 Port Numbering: Well-Known, Registered, Dynamic

The full port range is split into three bands by IANA, the body that coordinates global internet number assignments. Ports 0 through 1023 are the well-known ports, reserved for long-established, standardized services — port 80 for HTTP, port 443 for HTTPS, port 22 for SSH, and so on. Ports 1024 through 49151 are registered ports, which software vendors can request for their own applications without needing the same level of standardization as the well-known range. Ports 49152 through 65535 are dynamic (or ephemeral) ports, which operating systems hand out temporarily for outbound client connections — your browser doesn't listen on a fixed port to talk to a website; it grabs a free ephemeral one for the duration of that specific connection and releases it afterward.

⚙️ How Scanning Actually Works

The most common technique, a full TCP connect scan, is refreshingly literal: the scanning tool attempts to complete a genuine TCP handshake with each target port and simply records what happens. If the handshake completes, the port is open. If the target immediately sends back a reset packet, the port is closed. If nothing comes back at all within the timeout window, the port is marked filtered.

1

A Connection Attempt Is Sent

The scanner sends a SYN packet — the opening move of a TCP handshake — to the target port.

2

The Target Responds (Or Doesn't)

A SYN-ACK means something is listening; a RST means the port is actively closed; silence means the probe was likely dropped.

3

The Scanner Classifies the Result

Based purely on that response pattern, the port is logged as open, closed, or filtered.

4

The Process Repeats Across the Range

The same sequence runs for every port in the requested range, building the full picture one probe at a time.

A more advanced technique called a SYN scan (or "half-open" scan) stops after receiving the SYN-ACK instead of completing the handshake — it sends a RST of its own rather than an ACK, which is faster and leaves a lighter footprint in target logs, though it typically requires elevated privileges to run since crafting raw SYN packets isn't something a normal user-level connection can do.

🤝 The TCP Handshake and Why It Matters Here

The three-way handshake — SYN, SYN-ACK, ACK — exists to let both sides agree they're ready to talk before either commits real data to the connection. For scanning purposes, it's genuinely convenient: the handshake gives you a deterministic, protocol-level answer about whether a port is open, rather than relying on the target application to say something meaningful back. This is exactly why TCP scanning is comparatively fast and reliable, and why UDP — which has no equivalent handshake — has to fall back on much weaker signals, often just "did anything come back at all," to guess at a port's state.

🔬 Open vs Closed vs Filtered

These three states get confused constantly, and the mix-up wastes real troubleshooting time, so it's worth sitting with the distinction properly. Open means a service is actively bound to that port and accepted the connection attempt — this is the state you want for a service you're intentionally running. Closed means the target host is reachable and responded, but explicitly rejected the connection with a reset — nothing is listening there right now, but the host itself is alive and answering. Filtered means the probe simply vanished — no SYN-ACK, no RST, nothing — which almost always points to a firewall silently dropping the traffic rather than the destination service being absent.

StateWhat HappenedTypical Cause
OpenHandshake completed successfullyA service is actively listening and accepting connections
ClosedHost replied with a reset (RST)Host is reachable; nothing is bound to that specific port
FilteredNo response at all within timeoutA firewall or ACL is silently dropping the probe

🚫 Why This Page Can't Fully Scan From Your Browser

Browsers deliberately block raw TCP socket creation — a web page cannot open an arbitrary connection to an arbitrary port on an arbitrary host and read back the low-level handshake result the way nmap can. That's not an oversight; it's a core browser security boundary that stops malicious sites from silently scanning your home router or internal company network the moment you load a page. If a browser-based tool ever claims to run a genuine full-range TCP scan entirely client-side, treat that claim with real skepticism.

What a browser genuinely can do, within its normal permitted networking behavior, is attempt a connection to standard web ports (80 and 443) and time how long that takes — which is exactly what this page's Quick Web Port Check does. It's an honest, narrow signal about two specific ports, not a substitute for a real scan, which is why we hand you the precise nmap or PowerShell command to run for anything beyond that.

🛡️ Firewalls, NAT, and What They Do to Results

Firewalls are, by a wide margin, the single biggest source of confusing scan results. A stateful firewall inspecting outbound-initiated connections will happily let your scan probes leave, but block the returning SYN-ACK unless a rule specifically permits it — from the scanner's perspective, that's indistinguishable from the port simply not existing, and it gets logged as filtered either way. NAT (Network Address Translation) adds a separate wrinkle: scanning a home or office network's public IP won't reveal internal device ports at all unless the router has an explicit port-forwarding rule pointing that specific port at a specific internal machine — everything else behind the NAT boundary is invisible from the outside by default, which is a security feature, not a scanning limitation to work around.

🌐 IPv4 vs IPv6 Scanning Notes

Port numbering and states work identically under IPv6 — a port is a transport-layer concept, sitting above the IP layer, so it doesn't care which IP version carries it. What does change is scope: IPv6's enormous address space makes brute-force host discovery across a subnet essentially impractical, so scanning workflows on IPv6 networks typically start from a known host or a small, deliberately enumerated list rather than sweeping an entire range the way is still common on IPv4.

📝 Step-by-Step Guide

1

Confirm You Have Permission

Only scan hosts you own or have explicit, documented authorization to test.

2

Enter the Target

Type the hostname or IP address into the field above.

3

Generate Commands

Click the button to get the correct nmap, PowerShell, and netcat syntax, plus an instant web-port reachability signal.

4

Run the Full Scan Locally

Paste the relevant command into your terminal for the complete, authoritative hop-by-port result.

🌐 Real-World Scenarios

🏠
Home Networking
Confirming a router's remote-management port isn't accidentally exposed to the public internet after a firmware update reset your settings.
🏢
Enterprise Networking
Verifying a new internal firewall rule actually blocks the intended port range before signing off on a change ticket.
☁️
Cloud Networking
Checking that a cloud security group only exposes the ports a service genuinely needs, instead of trusting the default template blindly.
🖥️
Data Center Networking
Auditing a rack of newly provisioned servers to confirm management interfaces aren't reachable from the general production network.
💻
Developer Workflow
Quickly checking whether a local dev server actually bound to the expected port or silently failed to start.
🛡️
Security Auditing
Building an inventory of every externally reachable port across a company's public IP ranges as a baseline for future change detection.

📋 Common Services Reference

PortProtocolService
22TCPSSH (secure remote administration)
25TCPSMTP (mail transfer between servers)
53TCP/UDPDNS (name resolution)
80TCPHTTP (unencrypted web traffic)
110TCPPOP3 (legacy mail retrieval)
143TCPIMAP (mail retrieval, mailbox sync)
443TCPHTTPS (encrypted web traffic)
3306TCPMySQL / MariaDB database
3389TCPRDP (Windows remote desktop)
5432TCPPostgreSQL database

🏢 Enterprise & Data Center Use

Larger organizations rarely run a single one-off scan and call it done — scanning gets folded into a recurring compliance and change-management cadence, comparing this week's open-port inventory against a documented baseline and flagging any drift automatically. That drift detection catches the exact mistake most breaches trace back to: a service that was briefly opened for testing and never closed again. Network teams also lean on scanning heavily during segmentation projects, confirming that a newly created VLAN or security zone genuinely can't reach ports it isn't supposed to, rather than trusting the firewall rule-set documentation at face value.

☁️ Cloud & Home Networking

Cloud environments add a layer most people don't think to check: the security group or network ACL sits in front of the operating system's own firewall, meaning a port can be wide open at the OS level and still completely unreachable from the internet, or the reverse — closed at the OS level but the cloud console shows it as "allowed" at the network layer. Scanning from outside the cloud provider's network is the only way to see the combined, real-world effect of both layers stacked together. On home networks, most exposure risk comes from router port-forwarding rules set up for gaming or remote access and then forgotten, which is exactly the kind of drift a periodic scan of your own public IP catches quickly.

🔒 Security Implications

An open port isn't inherently dangerous — it's only a risk when it's exposing a service that's outdated, misconfigured, or unintentionally public. That said, an unexpected open port is one of the highest-signal indicators in basic security hygiene, because it often means something changed without anyone noticing: a new deployment left a debug interface exposed, a firewall rule got overwritten, or a service silently started listening on a port nobody configured it for. Treat every unexpected open port as worth investigating immediately rather than dismissing it, even when it turns out to be benign — the cost of checking is minutes, and the cost of ignoring a real one can be far higher.

⏱️ Performance Considerations

Scan speed is mostly a function of how many ports you're checking and how the target (or anything in front of it) handles unanswered probes. A filtered port that silently drops your probe forces the scanner to wait out its full timeout before moving on, which is why scanning a heavily firewalled host against a large port range can take dramatically longer than scanning an unfiltered one with the exact same port count. Reducing per-port timeout speeds things up but increases the risk of false negatives against genuinely slow or distant hosts, so it's worth tuning cautiously rather than aggressively by default.

🔧 Troubleshooting

⚠️ Every port shows as filtered
A firewall between you and the target is likely dropping all probe traffic; confirm you're not scanning from a network with restrictive outbound rules of its own.
⚠️ A port I expect to be open shows closed
Confirm the service is actually running and bound to that port on the target — a stopped or crashed service produces exactly this result.
⚠️ Scan results differ between runs
Load balancers routing to different backend instances, or a firewall rule that changed between scans, are the two most common causes of inconsistent results.

🛑 Common Mistakes

Scanning without permission is the single most consequential mistake on this list — even a routine, harmless-looking scan can trigger an automated abuse report from the target's intrusion-detection system, and explaining "I was just checking" after the fact is a much worse position than having permission documented beforehand. Beyond that, people commonly assume a closed port means "nothing is running here," when it often just means the specific service they expected isn't the one bound to that port — a full service banner check, not just a port state, is needed to confirm what's actually listening.

✅ Best Practices

Document Before You Scan
Keep written authorization and a scan schedule on file, especially in shared or corporate environments where an unexpected scan can trigger a security incident response.
🔄
Baseline, Then Compare
A single scan tells you today's state; a baseline plus periodic re-scans is what actually catches configuration drift over time.
🛡️
Close What You Don't Need
Every open port is a small piece of attack surface — if a service doesn't need to be internet-facing, put it behind a VPN or bastion host instead.

🔬 Comparison Tables

ToolRuns WhereDepthBest Fit
This browser checkYour browser2 web ports onlyInstant sanity check, no install needed
nmapYour OS terminalFull range, service detectionThorough, authoritative scanning
Test-NetConnectionWindows PowerShellSingle port at a timeQuick checks on Windows without extra installs
netcat (nc)Linux/macOS terminalSingle port, very lightweightFast manual spot-checks
AspectTCP ScanningUDP Scanning
Handshake availableYesNo
SpeedFastSlow
Result certaintyHighLower — relies on ICMP unreachable or timeout
Typical useWeb, SSH, mail, databasesDNS, NTP, SNMP, streaming

✅ Pros & ❌ Cons

✅ Pros
  • Fast, definitive way to confirm what's actually reachable
  • Works with tools already built into every major OS
  • Essential for firewall rule verification and security audits
  • Instant web-port sanity check right in the browser, no install
❌ Cons
  • Full scans can't run inside a browser for security reasons
  • Filtered results can't distinguish "blocked" from "doesn't exist"
  • Requires explicit authorization for anything you don't own
  • UDP results are inherently less certain than TCP

⚠️ Limitations

Even a full, authoritative nmap scan is a snapshot — a port that's closed right now could open five minutes later if a service restarts, and vice versa. Scanning also cannot see through end-to-end encryption to identify what's actually running behind an open port beyond a basic service-banner guess, and it provides zero visibility into application-layer vulnerabilities within a service that's legitimately, correctly open. A clean scan result is a reasonable starting point, never a complete security assessment on its own.

Reviewed by: ToolsNovaHub Network Team📅 Last updated: July 2026📜 Sourced from: IANA port registry and standard TCP/IP networking documentation

ToolsNovaHub tools are built and independently reviewed with a focus on technical accuracy. Spotted an error? Let us know.

📋 Related Tools & Guides Comparison

ResourceTypeLink
Security Headers CheckerToolOpen Tool →
Website Security ScannerToolOpen Tool →
SSL Certificate CheckerToolOpen Tool →
HTTP Headers CheckerToolOpen Tool →
Ping TestToolOpen Tool →
TracerouteToolOpen Tool →
IP Reputation CheckerToolOpen Tool →

FAQ

Browsers deliberately restrict raw TCP socket access to prevent web pages from probing your local network or scanning third-party hosts without consent, which is exactly what a general-purpose port scanner needs to do. That capability is intentionally reserved for dedicated desktop tools like nmap.
It attempts a standard browser connection to common web ports (80 and 443) on the host you enter, timing the response to indicate whether something is actively listening and responding on those specific ports.
Scanning your own systems or systems you have explicit permission to test is legal in virtually every jurisdiction. Scanning systems you don't own or have authorization for can violate computer misuse laws even if no damage occurs, so always get permission first.
An open port has a service actively listening and accepting connections. A closed port responds but explicitly refuses the connection. A filtered port gives no response at all because a firewall is silently dropping the probe.
Use TCP scanning for the vast majority of everyday services like web servers, SSH, and databases, and reserve UDP scanning for services you specifically know rely on it, such as DNS, NTP, or SNMP, since UDP scans are inherently slower and less reliable.
A firewall along the path is silently dropping probes to that port rather than sending back an explicit rejection, so nmap can't distinguish between the port being blocked and simply not existing.
No. The reachability check runs entirely in your browser and nothing you enter is logged or transmitted to a ToolsNovaHub server.
A properly configured, modern service will not crash from a standard connect-style scan, though aggressive scanning against fragile legacy systems or intrusion-detection-sensitive environments can occasionally trigger instability or automated lockouts.
nmap is a dedicated, feature-rich scanning tool that needs a separate install on most systems, while Test-NetConnection is built into Windows PowerShell by default but only checks one port per command, making it better suited to quick spot-checks than full scans.
Firewalls and routing paths can behave differently depending on where a scan originates, and load balancers may direct different source locations to different backend servers with different port configurations.
Scanning the well-known and commonly registered ports covers the overwhelming majority of real-world services quickly; a full-range scan is more thorough but takes considerably longer and is usually reserved for dedicated security audits.
Yes — many endpoint security products flag scanning behavior as suspicious by default, which can produce false "filtered" results or block the scanning tool itself; check your security software's logs if results look unexpectedly restrictive.
Yes — completely free, unlimited, with no sign-up required.
No — an open port is only risky when it's exposing an outdated, misconfigured, or unintentionally public service; a correctly configured, necessary, and patched service being reachable is normal and expected.
Use a local command like netstat -an (Windows/Linux) or lsof -i (macOS/Linux) to see which ports your own machine is actively listening on, rather than scanning yourself from the outside.