A modern Windows rewrite of Angry IP Scanner — same core idea (sweep a range of IPs, see what's alive), but with a fast Rust backend, a streaming UI, native Excel export, and clickable hostnames that open devices straight in your browser.
Built with Tauri 2 + SvelteKit + Tailwind CSS v4, in Rust.
Grab the latest installer from the Releases page:
| File | Use it if |
|---|---|
ipscanner_x.y.z_x64-setup.exe |
You want the normal installer (adds a Start menu shortcut, ~2 MB) |
ipscanner_x.y.z_x64_en-US.msi |
Your IT department deploys software via SCCM / group policy |
ipscanner_x.y.z_x64-portable.exe |
You want a single .exe you can drop on a USB stick — no install |
Windows will show a SmartScreen warning on first launch since the binary is not code-signed. Click More info → Run anyway.
Requires WebView2 Runtime, which is preinstalled on Windows 11 and most modern Windows 10 builds. If missing, the installer will offer to fetch it.
10.0.0.1), CIDR (192.168.1.0/24), short ranges (10.0.0.5-50), explicit ranges (10.0.0.254-10.0.1.5), or any mix separated by commas / newlines.IcmpSendEcho API, no admin required..in-addr.arpa PTR records.http://<ip>..xlsx (styled header, frozen top row, autofit columns) via rust_xlsxwriter. No CSV-blob shenanigans.Prerequisites:
git clone https://github.com/andrewbatista31/ipscanner
cd ipscanner
npm install
npm run tauri dev # live-reload dev build
npm run tauri build # release build + installers (NSIS, MSI)
Release artifacts land in src-tauri/target/release/bundle/.
src/ Svelte frontend (routes, app.css)
src-tauri/
src/
lib.rs Tauri entry + plugin registration
commands.rs Tauri command surface (start_scan, cancel_scan, export_xlsx)
scanner/
engine.rs Worker pool, cancellation, event emission
range.rs Target parser (CIDR / range / list)
types.rs ScanOptions / ScanResult / event payloads
fetchers/
ping.rs Windows ICMP via winping
dns.rs Reverse DNS via dns-lookup
netbios.rs Raw UDP NBSTAT query + reply parser
port.rs TCP connect probe with timeout