NetworkScannerWin is a native Windows desktop network scanner built with WPF and .NET 10. It is designed for fast local visibility, practical device details, and simple day-to-day use in home labs, smart home environments, and small local networks.
The goal is to answer the questions that matter during everyday network work:
- Which devices are currently online?
- Which ports and services are exposed?
- What kind of device is this likely to be?
- Are there any useful hints for troubleshooting, hardening, or operations?
The application runs locally as a desktop app, without browser setup or cloud dependencies.
As of April 12, 2026, the core workflow is already usable:
- Device discovery, hostname lookup, MAC resolution, and vendor lookup are working
- Port scanning and banner-based service hints are active
- The UI includes search, sorting, column selection, a detail panel, and device actions
- German and English localization are available
- Scan results and UI preferences are stored locally and restored on startup
The detailed project snapshot is documented in docs/PROJECT_STATUS.md.
- Fast subnet scan based on a ping sweep
- DNS and hostname resolution with multiple fallbacks
- MAC resolution with local interface fallback
- Vendor detection via OUI, heuristics, and cached online lookup
- Port scanning with basic banner detection
- Device-type heuristics for common local-network devices
- Hint detection for services and platforms such as ESPHome, Tasmota, Proxmox, Synology, and FRITZ!Box TR-064
- Modern DataGrid-based UI with filtering, sorting, column visibility, and persistence
- Detail panel with copy-friendly fields, open-port overview, and per-device notes
- Action buttons for browser, SSH, RDP, ping, Wake-on-LAN, and external tools
- Last-scan cache restored on startup
- .NET 10
- WPF
- C#
NetworkScannerWin.Ui: WPF views, view models, converters, theme and localization resourcesNetworkScannerWin.Network: scanning, discovery, detection, and heuristicsNetworkScannerWin.Core: shared models and supporting typesNetworkScannerWin.Tests: automated testsNetworkScannerWin.Data: placeholder for a possible future data layer
- Windows 10 or Windows 11
- .NET SDK 10.x
- Access to the local subnet you want to scan
Build:
dotnet build .\NetworkScannerWin.Ui\NetworkScannerWin.Ui.csprojRun:
dotnet run --project .\NetworkScannerWin.Ui\NetworkScannerWin.Ui.csprojRun tests:
dotnet testThe application stores local state in %APPDATA%\NetworkScannerWin, including:
ui-settings.jsondevice-profiles.jsonlast-scan.jsonvendor-cache.json
These files are intentionally local so the application remains self-contained.
The project currently uses two Git remotes:
origin: private source repositoryhttps://github.com/wib100/NetworkScannerWin.git
release: public release repository for curated artifacts and public-facing docshttps://github.com/wib100/NetworkScannerWin-Release.git
Check the configured remotes:
git remote -vRecommended workflow:
- Develop and review changes in the private repository
- Publish only curated binaries and public documentation to the public release repository
- Keep internal notes, experiments, and sensitive details out of the public release history
The public release process is described in docs/PUBLIC_RELEASE_WORKFLOW.md.
Not decided yet.
Use this tool only on networks you are authorized to scan. In some environments, network scanning may be considered security-sensitive activity.