Skip to content
NetsCLI

Overview

NetsCLI is a cross-platform network diagnostics toolkit written in Rust. It is built around one shared core library and several interfaces: a desktop app, terminal UI, command-line interface, and MCP server.

The goal is consistency. A port scan, DNS lookup, host inspection, or ARP cache read means the same thing whether you run it from the desktop app, a shell script, the TUI, or an AI agent.

NetsCLI focuses on practical network inspection tasks:

TaskUse this when
Discover hostsYou want to find reachable devices on a subnet.
Scan TCP portsYou know a host and want port status, latency, service guesses, and optional banner data.
Inspect a hostYou want a host profile combining reachability, reverse DNS, and optional port checks.
Sweep a subnetYou want discovery plus exposed services across discovered hosts.
Query namesYou need DNS, reverse DNS, or local mDNS service information.
Review local inventoryYou need local interfaces or the operating system ARP neighbor cache.
Capture packetsYou have a packet-capture build and the required system capture library installed.

NetsCLI is not intended to replace tools such as nmap or Wireshark for advanced service fingerprinting, NSE scripts, deep protocol dissection, or full packet analysis. It covers the common diagnostics where a fast, scriptable, cross-interface tool is useful.

The core library owns network behavior. Interface layers present the data and workflow that fit their environment instead of reimplementing probes, parsers, or safety limits.

InterfaceBest fit
Desktop appTabbed workflows, filtering, row details, history, exports, and result review.
Terminal UIKeyboard-first interactive diagnostics inside a terminal session.
CLIRepeatable commands, scripts, JSON/YAML output, setup, doctor, and shell workflows.
MCP serverStructured tools for AI agents that need local network operations.
Rust coreApplications that want the shared operations directly.

Network tools can be easy to overuse. NetsCLI keeps expensive operations bounded in the core library:

  • Maximum subnet size is /16.
  • Maximum ports per scan is 4096.
  • Default scan timeout is 500 ms.
  • Default concurrency is 256.
  • Packet capture requires a packet-capture build and a system capture library.

Interfaces may add confirmations or guidance, but they do not bypass the core limits.