trippy (Binärdatei: trip) ist ein Rust-Netzwerk-Diagnose-Tool, das Traceroute und Ping in eine einzelne Live-TUI vereint. Für jeden Hop werden Pakete gesendet/empfangen, Paketverlust in Prozent und letzte/durchschnittliche/beste/schlimmste/Standardabweichungs-Latenz angezeigt, plus Jitter-Analyse, Histogramme, GeoIP und DNS-Auflösung. Es unterstützt ICMP-, UDP- und TCP-Abfragen und kann mehrere Ziele gleichzeitig verfolgen — was es viel schneller macht, die Frage „Wo bricht das Netzwerk?” zu beantworten als mit klassischem traceroute + ping.
Installation
| Plattform | Befehl |
|---|
| Cargo (alle Plattformen) | cargo install trippy |
| macOS (Homebrew) | brew install trippy |
| Arch Linux | sudo pacman -S trippy |
| Debian/Ubuntu | sudo apt install trippy |
| Fedora | sudo dnf install trippy |
| Nix | nix-env -iA nixpkgs.trippy |
| Windows (Scoop) | scoop install trippy |
Berechtigungen
ICMP/Raw Sockets benötigen erhöhte Rechte:
sudo trip example.com
# Oder Fähigkeit einmalig vergeben (Linux), dann ohne sudo ausführen:
sudo setcap cap_net_raw+ep $(which trip)
Grundlegende Verwendung
| Befehl | Beschreibung |
|---|
trip example.com | Trace + Ping eines Hosts (ICMP, Live TUI) |
trip example.com google.com | Mehrere Ziele gleichzeitig tracen |
trip 1.1.1.1 | Eine IP direkt tracen |
trip --help | Vollständige Optionsliste |
trip --version | Version |
Protokoll- und Abfrage-Optionen
| Option | Beschreibung |
|---|
-i, --interface eth0 | Eine bestimmte Quellschnittstelle verwenden |
--icmp | ICMP-Abfragen (Standard) |
--udp | UDP-Abfragen |
--tcp | TCP-Abfragen (gut durch Firewalls) |
-p, --target-port 443 | Zielport (UDP/TCP) |
--first-ttl N | Bei einem bestimmten TTL starten |
--max-ttl N | Maximale Anzahl von Hops |
-4 / -6 | IPv4 / IPv6 erzwingen |
Timing und Rate
| Option | Beschreibung |
|---|
--min-round-duration 100ms | Mindestzeit pro Runde |
--max-round-duration 1s | Maximale Zeit pro Runde |
--initial-sequence N | Startsquenznummer |
--read-timeout 1s | Pro-Abfrage Read-Timeout |
--grace-duration 100ms | Auf verspätete Antworten warten |
DNS und GeoIP
| Option | Beschreibung |
|---|
-r, --dns-resolve-method system | Resolver: system, resolv, google, cloudflare |
-z, --dns-lookup-as-info | Die AS-Nummer (Autonomes System) pro Hop anzeigen |
--dns-resolve-all | Alle IPs eines Hosts auflösen |
--geoip-mmdb-file GeoLite2-City.mmdb | City/Country GeoIP pro Hop hinzufügen |
Interaktive Tasten
| Taste | Aktion |
|---|
↑ / ↓ | Einen Hop auswählen |
Tab | Zwischen Zielen wechseln |
z | Das Hop-Diagramm umschalten |
h | Hilfe umschalten |
q | Beenden |
Esc | Ein Panel schließen |
Reports (Nicht-Interaktiv)
Trippy kann One-Shot-Reports für Skripte und Tickets ausgeben.
| Befehl | Beschreibung |
|---|
trip example.com -m report | Eine Tabellenreport ausgeben und beenden |
trip example.com -m json | JSON-Ausgabe |
trip example.com -m csv | CSV-Ausgabe |
trip example.com -m stream | Kontinuierlicher Text-Stream |
trip example.com -m flows | Verschiedene Routing-Flows anzeigen (ECMP) |
Häufige Arbeitsabläufe
# Wo ist die Latenz? Trace mit AS-Info und 30-Hop-Grenze
sudo trip example.com -z --max-ttl 30
# Diagnose durch eine Firewall, die ICMP blockiert
sudo trip example.com --tcp -p 443
# Zwei Upstreams nebeneinander vergleichen
sudo trip 1.1.1.1 8.8.8.8
# Einen Report für einen Support-Ticket erfassen
sudo trip example.com -m json > trace-report.json
| Tool | Vereint Ping + Traceroute | Multi-Target | TUI | Protokolle |
|---|
| trippy | Ja | Ja | Umfangreich | ICMP/UDP/TCP |
| mtr | Ja | Nein | Grundlegend | ICMP/UDP |
| traceroute | Nein | Nein | Nein | ICMP/UDP/TCP |
| ping | Nein | Nein | Nein | ICMP |
Ressourcen