A network scanner for the desktop, the terminal, and AI agents
Discover LAN devices, scan TCP and UDP ports, query DNS, and inspect hosts from the desktop app, terminal UI, CLI, or MCP server — all on one Rust core.
curl -fsSL https://netscli.com/install.sh | bashwinget install netscli
Choose how to work with your network
Four ways in, one engine behind them. Whichever you pick — desktop app, terminal UI, CLI or MCP — a port scan means the same thing and returns the same answer. Full docs →
Desktop app
The desktop app is where you compare results side by side. Tabs keep several investigations open at once, and every result is sortable, filterable, and exportable, with the full history kept as you go.

Terminal UI
Run netscli with no subcommand to start the terminal UI. It is the one to reach for when you are already in a shell and want to stay there — history and autocomplete included, with local interface activity beside the results.

Command line
Use the CLI for repeatable diagnostics and automation. Network operations expose --json and --yaml output, so scripts and other tools can consume the same data the desktop app displays.
MCP server
Run netscli serve when an MCP client needs local network tools. Discovery, scanning, ping, DNS, ARP and interfaces are all exposed as structured tools, so an agent gets the same results you would, in a shape it can parse.
How NetsCLI compares
| Feature | NetsCLI | nmap | Angry IP Scanner | Advanced IP Scanner |
|---|---|---|---|---|
| Windows, macOS and Linux | ✓ | ✓ | ✓ | Windows only |
| Command line | ✓ | ✓ | ✓ | Undocumented |
| Terminal UI | ✓ | Not offered | Not offered | Not offered |
| AI agents (MCP server) | ✓ | Not offered | Not offered | Not offered |
| TCP port scan | ✓ | ✓ | ✓ | Some services |
| UDP port scan | ✓ | ✓ | Not offered | Not offered |
| Service versions | Common services | ✓ | Web servers only | Not offered |
| OS detection | Hints | ✓ | Not offered | Not offered |
| Add-ons (plugins, scripts) | Not offered | ✓ | ✓ | Not offered |
| DNS record and mDNS queries | ✓ | Via scripts | Not offered | Not offered |
| Remote desktop, shutdown, Wake-on-LAN | Not offered | Not offered | Not offered | ✓ |
| Open source | ✓ | ✓ | ✓ | Not offered |
Compared in September 2026 against NetsCLI 0.3.4, nmap 7.991, Angry IP Scanner 3.10.0 and Advanced IP Scanner 2.5. Spot something wrong? Open an issue.
Get started
Install the desktop app or the command line — both drive the same Rust core. Full install guide →
Desktop app
CLI + terminal UI
Desktop app
Unsigned — open it once, then System Settings → Privacy & Security → Open Anyway
CLI + terminal UI
Desktop app
CLI + terminal UI
Try it
FAQ
The questions people actually ask before installing.
What it is
What is NetsCLI?
Is NetsCLI open source?
Install and updates
How do I install NetsCLI?
Install the netscli package for the CLI, terminal UI, and MCP server:
winget install netsclicurl -fsSL https://netscli.com/install.sh | bashcargo install netscliInstall the Windows desktop app separately:
winget install netscli-guiPrebuilt binaries and desktop installers for Windows, Linux, and macOS are attached to GitHub releases when available for that platform.
Does NetsCLI work on Windows, macOS, and Linux?
x86_64 and aarch64 targets, including macOS Intel and Apple Silicon. The desktop app is published as Windows, macOS, and Linux installers where the release workflow supports that platform.Is NetsCLI a free network scanner for Windows, macOS, or Linux?
Yes. NetsCLI is MIT-licensed and free for personal, open-source, and commercial use.
winget install netscliwinget install netscli-guiscoop bucket add fstubner https://github.com/fstubner/scoop-bucket && scoop install netsclibrew tap fstubner/tap && brew install netsclicurl -fsSL https://netscli.com/install.sh | bashyay -S netscli-binInterfaces and integrations
Can I use NetsCLI with Claude Code, Cursor, or another AI agent?
netscli serve starts a Model Context Protocol (MCP) server over stdio. It exposes structured local-network tools for host discovery, port scanning, ping, DNS, ARP, host inspection, network sweep, interface listing, and mDNS discovery. Packet-capture builds can also expose capture tools. Packet capture uses a job-style flow for long-running work: start the capture, poll status, then fetch the result.Network workflows
Is NetsCLI an alternative to Angry IP Scanner or Advanced IP Scanner?
--json and --yaml output. Angry IP Scanner is also open source and cross-platform, and ships its own command-line interface. What NetsCLI does not do is remote administration: Advanced IP Scanner can open shared folders, control machines over RDP or Radmin, and switch them off remotely, and NetsCLI has no equivalent.How do I find devices on my home network with NetsCLI?
Run discovery from any machine on the network:
netscli discovernetscli discover <subnet>NetsCLI probes the range, then adds reverse DNS, ARP cache data, MAC addresses, and OUI vendor names when the operating system has that information available.
Can NetsCLI replace nmap, and does it have a TUI?
netscli with no arguments to get an interactive, keyboard-driven scanner in the terminal, which nmap itself does not provide. For advanced service detection, NSE scripts, and OS fingerprinting, nmap remains the better tool.Is there a netscan command for Linux or Windows?
There is no standard netscan command on Linux, macOS, or Windows — it is not part of any of those systems. People searching for one usually want a command-line network scanner, which is what NetsCLI is:
netscli discovernetscli scan router.local -p 22,80,443netscli sweepSeveral unrelated third-party tools also use the name NetScan, so check which one you mean before installing.
What is the difference between scan, inspect, discover, and sweep?
scan when you already know a host and want TCP port status. Use inspect when you want a host profile that combines reachability, reverse DNS, and optional port checks. Use discover to find reachable devices on a subnet. Use sweep when you want discovery plus open-port checks across the discovered hosts.Limits and dependencies
Does NetsCLI require libpcap or other system dependencies?
What does filtered mean in a port scan?
filtered means NetsCLI could not complete the TCP connection before the timeout. In practice, the packet may have been dropped by a firewall, blocked by a router, or ignored by the host. It is different from closed, where the host actively refused the connection.