NetScope is a lightweight, read-only network visibility and health monitoring tool for learners and entry-level network engineers.
- Automatic subnet discovery and device monitoring
- ICMP availability (up/down)
- Latency and packet loss metrics
- CLI monitoring mode
- Optional web dashboard (
/api/status+ simple UI) - Cross-platform operation (Linux and Windows)
- Go 1.22+
go run ./cmd/netscope monitor \
-auto-subnet 192.168.0.0/24 \
-auto-method auto \
-auto-refresh 30s \
-interval 5sgo run ./cmd/netscope web -auto-subnet 192.168.0.0/24 -auto-refresh 30s -listen :8080./build.shPowerShell (one line):
go run .\cmd\netscope monitor -auto-subnet 192.168.0.0/24 -auto-method auto -auto-refresh 30s -interval 5sPowerShell (multiline):
go run .\cmd\netscope monitor `
-auto-subnet 192.168.0.0/24 `
-auto-method auto `
-auto-refresh 30s `
-interval 5sCMD:
go run .\cmd\netscope monitor -auto-subnet 192.168.0.0/24 -auto-method auto -auto-refresh 30s -interval 5sPowerShell:
go run .\cmd\netscope web -auto-subnet 192.168.0.0/24 -auto-refresh 30s -listen :8080PowerShell:
./build.ps1Build outputs:
dist/netscope-linux-amd64dist/netscope-windows-amd64.exe
go run ./cmd/netscope monitor -hOpen http://localhost:8080 for web mode.
- NetScope only performs read-only checks.
- ICMP may require firewall permissions.
Cause: PowerShell does not use \ for line continuation.
Fix:
- Use one line, or
- Use PowerShell backtick
`at line end for multiline.
Cause: local file differs from current repository code.
Fix from repo root:
git pull
go clean -cache
go build ./...If your local file was manually edited and broken, restore it:
git checkout -- cmd/netscope/main.go cmd/netscope/discovery.go
go build ./...Use either separate lines or ; to chain commands.