Windows · Linux · macOS
A network scanner for the desktop, the terminal, and AI agents
Discover LAN devices, scan TCP 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.
Get started
Install the desktop app or the command line — both drive the same Rust core. Full install guide →
Desktop app
Hash-verified
CLI + terminal UI
Hash-verified
Desktop app
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-binPacket capture is the only workflow that needs a system capture library: libpcap on Linux/macOS or Npcap on Windows. mDNS discovery is pure Rust and is included in the published app, CLI, and MCP builds.
Interfaces 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/--yaml output, and an MIT-licensed Rust core.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, OS fingerprinting, and raw packet workflows, 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.