Skip to main content

Crate ttl

Crate ttl 

Source
Expand description

§ttl

Modern traceroute/mtr-style network path analyzer with a real-time TUI.

§Features

  • Continuous path monitoring with per-hop latency statistics
  • ICMP, UDP, and TCP probing modes
  • Multi-flow probing for ECMP path enumeration (Paris/Dublin traceroute)
  • Path MTU discovery via binary search
  • ASN, GeoIP, reverse DNS, and IX enrichment
  • MPLS label detection from ICMP extensions
  • Route flap and NAT detection

§Library Usage

The public API exposes session state and export functionality:

use ttl::state::Session;
use ttl::export::{export_json_string, export_csv};

// Load a saved session
let json_data = std::fs::read_to_string("session.json").unwrap();
let session: Session = serde_json::from_str(&json_data).unwrap();

// Export to JSON string
let json_export = export_json_string(&session).unwrap();

// Export CSV to a writer
let mut csv_output = Vec::new();
export_csv(&session, &mut csv_output).unwrap();

§CLI Usage

sudo ttl 8.8.8.8              # Basic trace
sudo ttl -p udp google.com    # UDP probes
sudo ttl --flows 4 host       # ECMP path discovery

Modules§

config
export
state