🔐 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.
- What Is a Port Scanner?
- Ports, TCP, and UDP in Plain Terms
- Port Numbering: Well-Known, Registered, Dynamic
- How Scanning Actually Works
- The TCP Handshake and Why It Matters Here
- Open vs Closed vs Filtered
- Why This Page Can't Fully Scan From Your Browser
- Firewalls, NAT, and What They Do to Results
- IPv4 vs IPv6 Scanning Notes
- Step-by-Step Guide
- Real-World Scenarios
- Common Services Reference
- Enterprise & Data Center Use
- Cloud & Home Networking
- Security Implications
- Performance Considerations
- Troubleshooting
- Common Mistakes
- Expert Tips
- Best Practices
- Comparison Tables
- Pros & Cons
- Limitations
- FAQ
- Related Tools
🔍 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.
A Connection Attempt Is Sent
The scanner sends a SYN packet — the opening move of a TCP handshake — to the target port.
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.
The Scanner Classifies the Result
Based purely on that response pattern, the port is logged as open, closed, or filtered.
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.
| State | What Happened | Typical Cause |
|---|---|---|
| Open | Handshake completed successfully | A service is actively listening and accepting connections |
| Closed | Host replied with a reset (RST) | Host is reachable; nothing is bound to that specific port |
| Filtered | No response at all within timeout | A 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
Confirm You Have Permission
Only scan hosts you own or have explicit, documented authorization to test.
Enter the Target
Type the hostname or IP address into the field above.
Generate Commands
Click the button to get the correct nmap, PowerShell, and netcat syntax, plus an instant web-port reachability signal.
Run the Full Scan Locally
Paste the relevant command into your terminal for the complete, authoritative hop-by-port result.
🌐 Real-World Scenarios
📋 Common Services Reference
| Port | Protocol | Service |
|---|---|---|
| 22 | TCP | SSH (secure remote administration) |
| 25 | TCP | SMTP (mail transfer between servers) |
| 53 | TCP/UDP | DNS (name resolution) |
| 80 | TCP | HTTP (unencrypted web traffic) |
| 110 | TCP | POP3 (legacy mail retrieval) |
| 143 | TCP | IMAP (mail retrieval, mailbox sync) |
| 443 | TCP | HTTPS (encrypted web traffic) |
| 3306 | TCP | MySQL / MariaDB database |
| 3389 | TCP | RDP (Windows remote desktop) |
| 5432 | TCP | PostgreSQL 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
🛑 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
🔬 Comparison Tables
| Tool | Runs Where | Depth | Best Fit |
|---|---|---|---|
| This browser check | Your browser | 2 web ports only | Instant sanity check, no install needed |
| nmap | Your OS terminal | Full range, service detection | Thorough, authoritative scanning |
| Test-NetConnection | Windows PowerShell | Single port at a time | Quick checks on Windows without extra installs |
| netcat (nc) | Linux/macOS terminal | Single port, very lightweight | Fast manual spot-checks |
| Aspect | TCP Scanning | UDP Scanning |
|---|---|---|
| Handshake available | Yes | No |
| Speed | Fast | Slow |
| Result certainty | High | Lower — relies on ICMP unreachable or timeout |
| Typical use | Web, SSH, mail, databases | DNS, NTP, SNMP, streaming |
✅ Pros & ❌ Cons
- 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
- 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.
ToolsNovaHub tools are built and independently reviewed with a focus on technical accuracy. Spotted an error? Let us know.
📋 Related Tools & Guides Comparison
| Resource | Type | Link |
|---|---|---|
| Security Headers Checker | Tool | Open Tool → |
| Website Security Scanner | Tool | Open Tool → |
| SSL Certificate Checker | Tool | Open Tool → |
| HTTP Headers Checker | Tool | Open Tool → |
| Ping Test | Tool | Open Tool → |
| Traceroute | Tool | Open Tool → |
| IP Reputation Checker | Tool | Open Tool → |
FAQ
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.