Skip to content

Releases: matthart1983/netscan

v0.8.1

19 Apr 01:07

Choose a tag to compare

netscan v0.1.0 — first public release

12 Apr 01:31

Choose a tag to compare

First public release of netscan — the continuous attack surface monitor. A Rust TUI workflow for nmap with scan history, differential scanning, and opt-in AI triage.

What's in the box

Core

  • Single-binary Rust TUI (~5.2 MB release build), cross-compiled for macOS + Linux
  • Target group inventory with full add/edit/delete via TUI forms, persisted to ~/.config/netscan/targets.toml
  • Scan profile library with the same CRUD experience, persisted to ~/.config/netscan/profiles.toml
  • Five built-in profiles out of the box: quick, full-tcp, udp-top, ssl-audit, discovery

Live scanning

  • Streaming XML parse of nmap's -oX - output — hosts and ports appear in the TUI as nmap reports them, not batched at the end
  • Real-time progress bar with ETA parsed from nmap's --stats-every stderr output
  • Pause / resume running scans via SIGSTOP / SIGCONT (p key). Elapsed counter correctly excludes paused time
  • Stop in-flight scans cleanly with x

History & diff — the product

  • SQLite-backed scan history at ~/.local/share/netscan/history.db
  • Automatic diff on scan completion against the previous scan for the same target group + profile — surfaces new hosts, closed ports, new services, version changes, and status transitions
  • Manual diff between any two historical scans — mark with m, diff with d
  • History browser with full scan detail view

Reporting

  • Incident bundle export (Shift+E) to a timestamped directory containing manifest.json, hosts.json, summary.md, and diff.md

AI triage (opt-in)

  • Background Ollama worker that sends a structured summary of each completed scan (plus its diff) to a local or remote Ollama endpoint and renders the response in the Scan tab
  • Endpoint options: local (default daemon), any http(s)://… URL, or Ollama Cloud
  • Off by default — enable in ~/.config/netscan/config.toml

Themes

  • Five built-in themes cycled with t: dark (default), solarized, dracula, nord, gruvbox
  • Choice persisted to config.toml

Tests

All 33 tests passing, including three live-service tests that spawn real processes:

  • Real nmap parse roundtrip against 127.0.0.1
  • Real SIGSTOP / SIGCONT pause-resume roundtrip against a running nmap child
  • Real Ollama roundtrip against llama3.2 on the local daemon

Install

git clone https://github.com/matthart1983/netscan.git
cd netscan
cargo build --release
./target/release/netscan

Requires nmap on PATH (brew install nmap or apt install nmap).

What's next

  • NSE script picker overlay
  • Scheduled / daemon mode with webhook alerts
  • Raw nmap XML capture in incident bundles
  • History filtering and search