A fast, parallel ICMP traceroute implementation with ASN lookup.
- Parallel probing - Sends multiple TTL probes concurrently for faster route discovery
- ASN lookups - Automatically identifies the autonomous system for each hop
- Smart classification - Categorizes hops (e.g., local networks, IXPs, CDNs)
- Minimal dependencies - Built with efficiency in mind
- Cross-platform - Works on Linux, macOS, and Windows (requires Npcap on Windows)
brew tap dweekly/ftr <
8000
span class="pl-k">&& brew install ftr
If you are on a Debian-based Linux distribution (like Ubuntu, Debian, Mint, etc.), you can install ftr using our APT repository for easy installation and updates.
- Update your package list and install prerequisites:
sudo apt-get update
sudo apt-get install -y curl gpg ca-certificates
- Add the ftr repository GPG key:
# Create the directory for GPG keys if it doesn't exist
sudo mkdir -p /usr/share/keyrings
# Download and save the GPG key
curl -sSL https://apt.networkweather.com/networkweather.gpg.key | sudo tee /usr/share/keyrings/networkweather-archive-keyring.gpg > /dev/null
- Add the ftr APT repository:
# For amd64 systems
echo "deb [signed-by=/usr/share/keyrings/networkweather-archive-keyring.gpg arch=amd64] https://apt.networkweather.com stable main" | sudo tee /etc/apt/sources.list.d/networkweather.list
# For arm64 systems
echo "deb [signed-by=/usr/share/keyrings/networkweather-archive-keyring.gpg arch=arm64] https://apt.networkweather.com stable main" | sudo tee /etc/apt/sources.list.d/networkweather.list
- Install ftr:
sudo apt-get update
sudo apt-get install ftr
Once installed, ftr will be updated along with your other system packages when you run sudo apt-get upgrade
.
Alternatively, you can download the .deb package directly from the latest release:
# For x86_64/amd64
wget https://github.com/dweekly/ftr/releases/latest/download/ftr_<version>_amd64.deb
sudo dpkg -i ftr_<version>_amd64.deb
# For ARM64/aarch64
wget https://github.com/dweekly/ftr/releases/latest/download/ftr_<version>_arm64.deb
sudo dpkg -i ftr_<version>_arm64.deb
cargo install ftr
Basic usage:
ftr google.com
With options:
ftr example.com -m 20 -W 5000
-s, --start-ttl <START_TTL>
- Starting TTL value (default: 1)-m, --max-hops <MAX_HOPS>
- Maximum number of hops (default: 30)--probe-timeout-ms <MS>
- Timeout for individual probes in milliseconds (default: 1000)-i, --send-launch-interval-ms <MS>
- Interval between launching probes (default: 5)-W, --overall-timeout-ms <MS>
- Overall timeout for the traceroute (default: 3000)
ftr to www.facebook.com (157.240.22.35), 30 max hops, 1000ms probe timeout, 3000ms overall timeout
Performing ASN lookups and classifying segments...
1 [LAN ] 192.168.1.1 (Private Network) 0.409 ms
2 [ISP ] 157.131.132.109 (AS46375 - AS-SONICTELECOM, US) 18.589 ms
3 [ISP ] 135.180.179.42 (AS46375 - AS-SONICTELECOM, US) 10.193 ms
4 [ISP ] 142.254.59.217 (AS46375 - AS-SONICTELECOM, US) 17.891 ms
5 [ISP ] 157.131.209.161 (AS46375 - AS-SONICTELECOM, US) 53.078 ms
6 [UNKNOWN] * * *
7 [UNKNOWN] * * *
8 [UNKNOWN] * * *
9 [UNKNOWN] * * *
10 [UNKNOWN] * * *
11 [UNKNOWN] * * *
12 [UNKNOWN] * * *
13 [UNKNOWN] * * *
14 [ISP ] 75.101.33.185 (AS46375 - AS-SONICTELECOM, US) 4.255 ms
15 [BEYOND] 157.240.70.50 (AS32934 - FACEBOOK, US) 4.249 ms
16 [BEYOND] 157.240.112.90 (AS32934 - FACEBOOK, US) 4.192 ms
17 [BEYOND] 129.134.118.175 (AS32934 - FACEBOOK, US) 4.689 ms
18 [BEYOND] 129.134.60.98 (AS32934 - FACEBOOK, US) 6.501 ms
19 [BEYOND] 157.240.22.35 (AS32934 - FACEBOOK, US) 4.515 ms
- Rust 1.87.0 or later
- Windows: Npcap or WinPcap installed
git clone https://github.com/dweekly/ftr
cd ftr
cargo build --release
This traceroute implementation:
- Sends ICMP Echo Request packets with increasing TTL values
- Captures ICMP Time Exceeded messages from intermediate routers
- Performs reverse DNS and ASN lookups for discovered hops
- Uses parallel probing to significantly reduce total scan time
Unlike traditional sequential traceroute implementations, this tool sends multiple probes in parallel, dramatically reducing the time needed to map a complete network path.
Typical performance improvements over traditional traceroute:
- 30-hop trace: ~3 seconds vs ~30 seconds (10x faster)
- 15-hop trace: ~1.5 seconds vs ~15 seconds (10x faster)
The parallel approach maintains accuracy while significantly reducing wait time.
MIT License - see LICENSE file for details
Contributions are welcome! Please feel free to submit a Pull Request.
David Weekly (dweekly)