# traceroute Command Reference ## What it does Traces the network path packets take to reach a destination, showing each hop (router) along the way with timing information. ## Basic Usage ```bash traceroute google.com # Trace route to google.com traceroute 8.8.8.8 # Trace route using IP address traceroute -n google.com # Don't resolve hostnames (faster) ``` ## Common Arguments | Argument | Description | |----------|-------------| | `-n` | Don't resolve IP addresses to hostnames | | `-m max_ttl` | Set maximum number of hops (default 30) | | `-q queries` | Set number of queries per hop (default 3) | | `-w timeout` | Wait timeout seconds for response | | `-p port` | Use specific port number | | `-I` | Use ICMP instead of UDP | ## Advanced Options ```bash # Faster traceroute (no DNS lookups) traceroute -n google.com # Limit to 15 hops maximum traceroute -m 15 google.com # Use ICMP packets instead of UDP traceroute -I google.com # Single query per hop (faster) traceroute -q 1 google.com ``` ## Timing Options | Argument | Description | |----------|-------------| | `-w 2` | Wait 2 seconds for response | | `-q 1` | Send 1 query per hop (instead of 3) | | `-f first_ttl` | Start from specific hop number | ## Quick Commands ```bash # Fast traceroute traceroute -n -q 1 google.com # Detailed traceroute traceroute -v google.com # ICMP traceroute traceroute -I 8.8.8.8 # Short hop limit traceroute -m 10 github.com ``` ## Reading Results ```bash 1 192.168.1.1 (192.168.1.1) 2.123 ms 1.456 ms 1.789 ms 2 * * * 3 10.0.0.1 (gateway.isp.com) 15.234 ms 14.567 ms 16.123 ms ``` - `1, 2, 3` → Hop number - `192.168.1.1` → IP address of router - `2.123 ms` → Response times (3 attempts) - `* * *` → Timeout or blocked responses ## Pro Tips > - Use `-n` for faster results > - `* * *` means the router didn't respond (often normal) > - High latency jumps indicate network bottlenecks