Trippy - Ferramenta de Diagnóstico de Rede
trippy (binário: trip) é uma ferramenta de diagnóstico de rede Rust que funde traceroute e ping em um único TUI ao vivo. Para cada hop, mostra pacotes enviados/recebidos, perda %, latência última/média/melhor/pior/desvio padrão, além de análise de jitter, histogramas, GeoIP e resolução de DNS. Suporta probes ICMP, UDP e TCP e pode rastrear múltiplos destinos simultaneamente — tornando muito mais rápido responder “onde a rede está quebrando?” do que com traceroute + ping clássicos.
Instalação
| Plataforma | Comando |
|---|
| Cargo (todas as plataformas) | 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égios
ICMP/raw sockets precisam de direitos elevados:
sudo trip example.com
# Ou conceder a capacidade uma vez (Linux), depois executar sem sudo:
sudo setcap cap_net_raw+ep $(which trip)
Uso Básico
| Comando | Descrição |
|---|
trip example.com | Rastrear + fazer ping de um host (ICMP, TUI ao vivo) |
trip example.com google.com | Rastrear múltiplos destinos simultaneamente |
trip 1.1.1.1 | Rastrear um IP diretamente |
trip --help | Lista completa de opções |
trip --version | Versão |
Opções de Protocolo e Probe
| Opção | Descrição |
|---|
-i, --interface eth0 | Usar uma interface de origem específica |
--icmp | Probes ICMP (padrão) |
--udp | Probes UDP |
--tcp | Probes TCP (bom através de firewalls) |
-p, --target-port 443 | Porta de destino (UDP/TCP) |
--first-ttl N | Começar com um TTL específico |
--max-ttl N | Número máximo de hops |
-4 / -6 | Forçar IPv4 / IPv6 |
Timing & Taxa
| Opção | Descrição |
|---|
--min-round-duration 100ms | Tempo mínimo por rodada |
--max-round-duration 1s | Tempo máximo por rodada |
--initial-sequence N | Número de sequência inicial |
--read-timeout 1s | Tempo limite de leitura por probe |
--grace-duration 100ms | Esperar respostas atrasadas |
DNS & GeoIP
| Opção | Descrição |
|---|
-r, --dns-resolve-method system | Resolver: system, resolv, google, cloudflare |
-z, --dns-lookup-as-info | Mostrar o número AS (autonomous system) por hop |
--dns-resolve-all | Resolver todos os IPs para um host |
--geoip-mmdb-file GeoLite2-City.mmdb | Adicionar GeoIP de cidade/país por hop |
Teclas Interativas
| Tecla | Ação |
|---|
↑ / ↓ | Selecionar um hop |
Tab | Alternar entre destinos |
z | Alternar o gráfico de hop |
h | Alternar ajuda |
q | Sair |
Esc | Fechar um painel |
Relatórios (Não-Interativo)
trippy pode emitir relatórios únicos para scripts e tickets.
| Comando | Descrição |
|---|
trip example.com -m report | Imprimir um relatório em tabela e sair |
trip example.com -m json | Saída JSON |
trip example.com -m csv | Saída CSV |
trip example.com -m stream | Fluxo de texto contínuo |
trip example.com -m flows | Mostrar fluxos de roteamento distintos (ECMP) |
Fluxos de Trabalho Comuns
# Onde está a latência? Rastrear com informações de AS e limite de 30 hops
sudo trip example.com -z --max-ttl 30
# Diagnosticar através de um firewall que descarta ICMP
sudo trip example.com --tcp -p 443
# Comparar dois upstreams lado a lado
sudo trip 1.1.1.1 8.8.8.8
# Capturar um relatório para anexar a um ticket de suporte
sudo trip example.com -m json > trace-report.json
Trippy vs Ferramentas Clássicas
| Ferramenta | Combina ping+traceroute | Multi-destino | TUI | Protocolos |
|---|
| trippy | Sim | Sim | Rico | ICMP/UDP/TCP |
| mtr | Sim | Não | Básico | ICMP/UDP |
| traceroute | Não | Não | Não | ICMP/UDP/TCP |
| ping | Não | Não | Não | ICMP |
Recursos