# 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