Trippy - Feuille de triche d’outil de diagnostic réseau
trippy (binaire : trip) est un outil de diagnostic réseau Rust qui fusionne traceroute et ping dans une seule TUI en direct. Pour chaque saut, il affiche les paquets envoyés/reçus, le pourcentage de perte et les statistiques de latence (dernière/moyenne/meilleure/pire/écart type), plus l’analyse de la gigue, les histogrammes, GeoIP et la résolution DNS. Il prend en charge les sondes ICMP, UDP et TCP et peut tracer plusieurs cibles à la fois, ce qui le rend beaucoup plus rapide pour répondre à « où le réseau se casse-t-il ? » que les classiques traceroute + ping.
Installation
| Plateforme | Commande |
|---|
| Cargo (toutes les plateformes) | 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 |
Privilèges
Les raw sockets ICMP nécessitent des droits élevés :
sudo trip example.com
# Ou accordez la capacité une fois (Linux), puis exécutez sans sudo :
sudo setcap cap_net_raw+ep $(which trip)
Utilisation de base
| Commande | Description |
|---|
trip example.com | Tracer + ping un hôte (ICMP, TUI en direct) |
trip example.com google.com | Tracer plusieurs cibles à la fois |
trip 1.1.1.1 | Tracer une IP directement |
trip --help | Liste complète des options |
trip --version | Version |
Options de protocole et de sonde
| Option | Description |
|---|
-i, --interface eth0 | Utiliser une interface source spécifique |
--icmp | Sondes ICMP (par défaut) |
--udp | Sondes UDP |
--tcp | Sondes TCP (bien à travers les pare-feu) |
-p, --target-port 443 | Port cible (UDP/TCP) |
--first-ttl N | Commencer à un TTL donné |
--max-ttl N | Nombre maximum de sauts |
-4 / -6 | Forcer IPv4 / IPv6 |
Synchronisation et débit
| Option | Description |
|---|
--min-round-duration 100ms | Temps minimum par tour |
--max-round-duration 1s | Temps maximum par tour |
--initial-sequence N | Numéro de séquence de départ |
--read-timeout 1s | Timeout de lecture par sonde |
--grace-duration 100ms | Attendre les réponses tardives |
DNS et GeoIP
| Option | Description |
|---|
-r, --dns-resolve-method system | Résolveur : system, resolv, google, cloudflare |
-z, --dns-lookup-as-info | Afficher le numéro AS (système autonome) par saut |
--dns-resolve-all | Résoudre toutes les IP d”un hôte |
--geoip-mmdb-file GeoLite2-City.mmdb | Ajouter GeoIP par ville/pays par saut |
Touches interactives
| Touche | Action |
|---|
↑ / ↓ | Sélectionner un saut |
Tab | Basculer entre les cibles |
z | Basculer le graphique de saut |
h | Basculer l”aide |
q | Quitter |
Esc | Fermer un panneau |
Rapports (non-interactif)
trippy peut émettre des rapports uniques pour les scripts et les tickets.
| Commande | Description |
|---|
trip example.com -m report | Imprimer un rapport tableau et quitter |
trip example.com -m json | Sortie JSON |
trip example.com -m csv | Sortie CSV |
trip example.com -m stream | Flux texte continu |
trip example.com -m flows | Afficher les flux de routage distincts (ECMP) |
Workflows courants
# Où se trouve la latence ? Tracer avec les infos AS et un plafond de 30 sauts
sudo trip example.com -z --max-ttl 30
# Diagnostiquer à travers un pare-feu qui supprime ICMP
sudo trip example.com --tcp -p 443
# Comparer deux upstreams côte à côte
sudo trip 1.1.1.1 8.8.8.8
# Capturer un rapport à joindre à un ticket d''assistance
sudo trip example.com -m json > trace-report.json
Trippy vs outils classiques
| Outil | Combine ping+traceroute | Multi-cible | TUI | Protocoles |
|---|
| trippy | Oui | Oui | Riche | ICMP/UDP/TCP |
| mtr | Oui | Non | Basique | ICMP/UDP |
| traceroute | Non | Non | Non | ICMP/UDP/TCP |
| ping | Non | Non | Non | ICMP |
Ressources