# Trippy — A Network Diagnostic Tool Combining traceroute and ping > Trippy is a modern TUI network diagnostic tool that fuses traceroute and ping into one live view, supporting ICMP/UDP/TCP, IPv6, GeoIP, and CSV/JSON export. ## Install Save in your project root: # Trippy — A Network Diagnostic Tool Combining traceroute and ping ## Quick Use ```bash brew install trippy # macOS/Linux need raw sockets: run with sudo or setcap sudo trip example.com # TCP mode, port 443, IPv6, show AS info sudo trip -p tcp -P 443 -6 -r cloudflare example.com ``` ## Introduction `trip` answers "where exactly does my packet lose time?" in real time. Traditional `mtr` is great, but Trippy adds TCP/UDP probe modes, IPv6 parity, GeoIP + ASN lookups, DNS over HTTPS, and a TUI where you can inspect per-hop jitter, loss, and round-trip distributions simultaneously. ## What Trippy Does - Sends ICMP, UDP, or TCP probes with increasing TTLs. - Displays per-hop RTT, jitter, packet loss, and EWMA in a live TUI. - Resolves hops with cloudflare/google/resolv.conf DNS resolvers. - Looks up ASN and country via bundled MaxMind DB. - Exports runs to CSV, JSON, PPRINT, or Markdown for reporting. ## Architecture Overview Trippy opens a raw socket, sends one probe per hop per refresh tick, and reads responses on a dedicated tracer thread. A Tokio task queue drives DNS/GeoIP lookups in parallel. The `ratatui` renderer redraws the TUI at 60fps with minimal allocations. Packet-crafting is cross-platform via the `socket2` crate. ## Self-Hosting & Configuration - Install via `brew install trippy`, `cargo install trippy`, apt, dnf. - Linux: grant raw-socket capability with `setcap cap_net_raw+ep $(which trip)`. - Config file at `~/.config/trippy/trippy.toml` stores defaults. - GeoIP DB path configurable — bring your own MaxMind. - CI-friendly `--report-mode pretty` runs N cycles then prints. ## Key Features - Single binary combining mtr + ASN + GeoIP in one TUI. - TCP/UDP modes traverse firewalls that drop ICMP. - IPv6 first-class support. - Export to CSV/JSON/Markdown for postmortems. - DNS-over-HTTPS resolver avoids ISP poisoning. ## Comparison with Similar Tools - **mtr** — classic; no GeoIP/AS, ICMP-centric. - **traceroute** — one-shot, no live stats. - **nali + mtr** — pipes GeoIP in; less integrated. - **WinMTR** — Windows GUI; limited probe modes. - **PathPing** — Windows built-in; basic stats. ## FAQ **Q: Do I need root?** A: Raw sockets require root or `CAP_NET_RAW`. **Q: Can I tweak probe rate?** A: `--min-round-duration 250ms --max-round-duration 1s`. **Q: GeoIP source?** A: Bundled MaxMind GeoLite2 or supply your own with `--geoip-mmdb-file`. **Q: Does it support SCTP?** A: Not yet. ## Sources - https://github.com/fujiapple852/trippy - https://trippy.rs --- Source: https://tokrepo.com/en/workflows/bc7036be-389d-11f1-9bc6-00163e2b0d79 Author: AI Open Source