Show HN: A fast, dependency-free traceroute implementation in pure C
5 months ago
- #network-diagnostics
- #high-performance
- #traceroute
- Fastrace is a high-performance, dependency-free traceroute implementation in pure C.
- Features a fully non-blocking architecture driven by poll() for faster ICMP draining.
- Provides sub-millisecond RTT accuracy with monotonic timing pipeline.
- Offers runtime tuning via CLI flags for hops, probes, concurrency, and timeouts.
- Includes a reverse DNS cache with optional suppression (-n) to optimize lookups.
- Uses expanded socket buffers and smarter probe scheduling for lower latency traces.
- Zero external dependencies, relying solely on standard C libraries and system calls.
- Implements dual socket types: UDP for sending probes and raw ICMP for receiving responses.
- Configurable multi-TTL probing system with tunable concurrency window.
- Precise handling of network protocols including UDP probes, TTL management, and ICMP response processing.
- Structured visual representation of network paths with tree-like format.
- Significant performance improvements over standard traceroute in trace time, memory usage, and CPU utilization.
- Supports Linux, macOS, and other Unix-like systems with raw socket support.
- Includes a Makefile for easy compilation and installation.
- Licensed under the BSD-2 License.