NetProbe
A terminal-based network diagnostic tool that combines ping, traceroute, DNS lookup, and port scanning into a single fast command. Built with Rust for performance and zero-runtime-dependency distribution.
Motivation
Network troubleshooting is a cycle of running ping, then traceroute, then dig, then nmap — each tool gives you one piece of the puzzle. NetProbe runs all relevant diagnostics in parallel and presents a unified report.
Features
- Parallel execution — ping, trace, DNS, and port scan run concurrently, not sequentially
- Adaptive timeout — adjusts probe intervals based on network responsiveness
- Rich terminal output — structured, colorized report without requiring a GUI
- JSON export — pipe results to
jqor save for automated analysis - Zero dependencies — single static binary, cross-compiled for Linux, macOS, and Windows
Architecture
Written in Rust using Tokio for async I/O. The diagnostic modules are independent actors that communicate results through a channel. The orchestrator collects results as they arrive and composes the final report.
Why Rust
The primary constraint was startup time. A Python tool would take 200ms just to start the interpreter. Go was considered, but Rust’s zero-cost abstractions and lack of runtime garbage collection mean consistent sub-millisecond latency for packet construction.