traceroute
Muestra por qué equipos pasan tus paquetes hasta llegar a un destino.
Envía paquetes con un TTL (tiempo de vida, el número de saltos que le quedan) que empieza en 1 y sube de uno en uno. Cada ruteador (router) donde se agota el paquete avisa de regreso, y así aparecen, uno por uno, los equipos por los que pasa tu conexión. Lo usas cuando algo va lento o para ver en qué salto se corta. No viene instalado por defecto en Debian: instálalo con sudo apt install traceroute.
traceroute [opciones] HOSTDespiece
6 ejemplosVer la ruta hacia un sitio
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | traceroute | Comando | El comando que muestra el camino que siguen tus paquetes. |
| 2 | ejemplo.com | Argumento | El host o dirección IP de destino. |
Cada línea es un salto: el nombre o la IP del equipo por el que pasó el paquete y el tiempo de ida y vuelta en milisegundos. El último salto es el destino. Los tres tiempos son tres paquetes distintos.
Ver la ruta sin resolver nombres
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | traceroute | Comando | El comando que muestra el camino que siguen tus paquetes. |
| 2 | -n | Opción | No traduce las IP a nombres, así que no se pierde tiempo buscando a quién pertenece cada una. |
| 3 | ejemplo.com | Argumento | El host o dirección IP de destino. |
Lo mismo, pero con puros números. Además de ser más rápido, funciona cuando el DNS del equipo intermedio no responde: ahí sabrás que el salto existe aunque no te diga cómo se llama.
Limitar la cantidad de saltos
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | traceroute | Comando | El comando que muestra el camino que siguen tus paquetes. |
| 2 | -m | Opción | Fija el máximo de saltos que se van a preguntar. |
| 3 | 5 | Valor | Cinco saltos: por lo general tu router, tu módem o el equipo que te da internet y los primeros del proveedor. |
| 4 | ejemplo.com | Argumento | El host o dirección IP de destino. |
Solo revisa los primeros cinco saltos y termina. Sirve para ver hasta dónde llega tu conexión antes de salir a internet, sin esperar los 30 saltos de siempre.
Hacer la revisión más rápido
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | traceroute | Comando | El comando que muestra el camino que siguen tus paquetes. |
| 2 | -m | Opción | Fija el máximo de saltos que se van a preguntar. |
| 3 | 5 | Valor | Cinco saltos: por lo general tu router, tu módem o el equipo que te da internet y los primeros del proveedor. |
| 4 | -q | Opción | Fija cuántos paquetes se envían a cada salto. |
| 5 | 2 | Valor | Dos paquetes por salto, en vez de los tres de siempre. |
| 6 | -w | Opción | Fija cuántos segundos se espera la respuesta de cada salto. |
| 7 | 1 | Valor | Un segundo como máximo; si no hay respuesta en ese tiempo, el salto sale con asteriscos. |
| 8 | ejemplo.com | Argumento | El host o dirección IP de destino. |
Sale en segundos. Con menos espera y menos paquetes se pierde detalle, pero alcanza de sobra para detectar en qué salto se rompe o se atora la conexión.
Probar con paquetes ICMP, como ping
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | traceroute | Comando | El comando que muestra el camino que siguen tus paquetes. |
| 2 | -I | Opción | Envía un ICMP echo a cada salto, que es el mismo tipo de paquete que usa ping. |
| 3 | ejemplo.com | Argumento | El host o dirección IP de destino. |
Funciona parecido a traceroute normal, pero con paquetes ICMP. En equipos donde el UDP está filtrado (contenedores de Docker, redes de empresas) suele dar mejor resultado. En algunos sistemas hay que correrlo con sudo.
Trazar la ruta hasta un puerto TCP
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | sudo | Comando | El método TCP construye paquetes que requieren permisos de administrador. |
| 2 | traceroute | Comando | El comando que muestra el camino que siguen tus paquetes. |
| 3 | -T | Opción | Envía paquetes TCP en lugar de los UDP que usa por defecto. |
| 4 | -p | Opción | Fija el puerto de destino de esos paquetes. |
| 5 | 443 | Valor | El puerto de HTTPS, el que usan casi todos los sitios web. |
| 6 | ejemplo.com | Argumento | El host o dirección IP de destino. |
Manda paquetes TCP al puerto 443 en vez de UDP. Sirve cuando un firewall bloquea el UDP pero deja pasar el tráfico a ese puerto. Necesita sudo porque arma paquetes TCP a mano.
Opciones
Las que sí vas a usar| Opción | Qué hace |
|---|---|
| -n | No traduce las IP a nombres de dominio; muestra solo números. Es más rápido y no se queda esperando respuestas de nombres. |
| -m N--max-hops | Máximo de saltos que pregunta (30 por defecto). Con un número menor la revisión termina antes. |
| -q N--queries | Paquetes que envía a cada salto (3 por defecto). Con 1 queda más rápido, aunque menos confiable. |
| -w N--wait | Segundos máximos que espera la respuesta de cada paquete antes de marcarlo con asterisco (5 por defecto). |
| -I--icmp | Usa paquetes ICMP en vez de UDP, igual que ping. En Debian y Ubuntu funciona sin sudo; en algunos sistemas sí lo pide. |
| -T--tcp | Usa paquetes TCP en vez de UDP. Sirve cuando un firewall solo deja pasar el paquete de prueba si el puerto está abierto. Necesita sudo. |
| -p PUERTO--port | Puerto de destino. Con -T es el puerto fijo que se prueba; con UDP es el puerto inicial, que traceroute va subiendo en cada paquete. |
| -4 | Fuerza la revisión por IPv4. Con -6 la haces por IPv6. |
Fallas comunes
| Falla | Remedio |
|---|---|
| Pegar la URL completa, como traceroute https://ejemplo.com/login. | traceroute solo recibe un host o una IP. Escribe traceroute ejemplo.com. |
| Ver asteriscos (*) y concluir que la conexión está caída. | Un asterisco solo dice que ese salto no contestó a tiempo. Si los saltos siguientes responden, la conexión sigue viva; muchos routers descartan el aviso cuando el paquete ya venció. |
| Esperar varios minutos a que termine. | Cada salto que no responde te hace esperar hasta 5 segundos por paquete. Acórtalo con -m 5 -q 2 -w 1, o usa ping si solo necesitas saber si hay conexión. |
| Usar -T sin sudo. | El método TCP arma paquetes que necesitan permisos de root. Sin ellos traceroute avisa: You do not have enough privileges to use this traceroute method. Usa sudo traceroute -T -p 443 ejemplo.com. |
Preguntas frecuentes
- ¿Qué significa traceroute?
- Trace route, trazador de ruta. Muestra los equipos (routers) por los que pasan tus paquetes hasta llegar al destino y cuánto tardó cada salto. Se apoya en el TTL: cada paquete nace con un límite de saltos y, al agotarse, el equipo que lo recibe responde con su propia dirección.
- ¿Por qué traceroute muestra asteriscos (*)?
- Porque ese salto no respondió dentro del tiempo de espera, no porque la ruta esté rota. Muchos equipos descartan los avisos de los paquetes vencidos porque ya traen tráfico. Si aparecen varios asteriscos seguidos, el problema sí está ahí o en el enlace que viene después.
- ¿Cuál es la diferencia entre traceroute y ping?
- ping solo te dice si el equipo final responde y cuánto tardó el paquete. traceroute te muestra todo el camino, salto por salto, para que veas en qué punto se acumula la latencia o se pierde la conexión.
- ¿Cómo sé en qué salto se pierde mi conexión?
- Ubica el primer salto que se queda en asteriscos y cuenta hacia adelante: si de ahí en adelante ya no contesta nadie, el problema está en ese equipo o en el enlace que sale de él. Usa -n para ver los números rápido y -m para no esperar de más.
- ¿Por qué traceroute dice que no tengo suficientes privilegios?
- Porque el método TCP (-T) necesita root. Corre sudo traceroute -T -p 443 ejemplo.com. El método normal con UDP no requiere sudo, y el ICMP (-I) por lo general tampoco en Debian y Ubuntu.