Comandos LinuxExplicados en español
/
Ficha70 / 104
Categoría
Redes
Ejemplos
6
Ver también
ping · ip · dig · curl

traceroute

trace route (trazar la ruta)

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.

Sintaxistraceroute [opciones] HOST
§ 1

Despiece

6 ejemplos
Ver la ruta hacia un sitio

Ver la ruta hacia un sitio

2 piezas
Lámina01 / 06
Comandotraceroute ejemplo.com
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1tracerouteComandoEl comando que muestra el camino que siguen tus paquetes.
2ejemplo.comArgumentoEl host o dirección IP de destino.
Resultado

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

3 piezas
Lámina02 / 06
Comandotraceroute -n ejemplo.com
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1tracerouteComandoEl comando que muestra el camino que siguen tus paquetes.
2-nOpciónNo traduce las IP a nombres, así que no se pierde tiempo buscando a quién pertenece cada una.
3ejemplo.comArgumentoEl host o dirección IP de destino.
Resultado

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

4 piezas
Lámina03 / 06
Comandotraceroute -m 5 ejemplo.com
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1tracerouteComandoEl comando que muestra el camino que siguen tus paquetes.
2-mOpciónFija el máximo de saltos que se van a preguntar.
35ValorCinco saltos: por lo general tu router, tu módem o el equipo que te da internet y los primeros del proveedor.
4ejemplo.comArgumentoEl host o dirección IP de destino.
Resultado

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

8 piezas
Lámina04 / 06
Comandotraceroute -m 5 -q 2 -w 1 ejemplo.com
Piezas8
Escala1:1
N.ºPiezaTipoQué hace
1tracerouteComandoEl comando que muestra el camino que siguen tus paquetes.
2-mOpciónFija el máximo de saltos que se van a preguntar.
35ValorCinco saltos: por lo general tu router, tu módem o el equipo que te da internet y los primeros del proveedor.
4-qOpciónFija cuántos paquetes se envían a cada salto.
52ValorDos paquetes por salto, en vez de los tres de siempre.
6-wOpciónFija cuántos segundos se espera la respuesta de cada salto.
71ValorUn segundo como máximo; si no hay respuesta en ese tiempo, el salto sale con asteriscos.
8ejemplo.comArgumentoEl host o dirección IP de destino.
Resultado

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

3 piezas
Lámina05 / 06
Comandotraceroute -I ejemplo.com
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1tracerouteComandoEl comando que muestra el camino que siguen tus paquetes.
2-IOpciónEnvía un ICMP echo a cada salto, que es el mismo tipo de paquete que usa ping.
3ejemplo.comArgumentoEl host o dirección IP de destino.
Resultado

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

6 piezas
Lámina06 / 06
Comandosudo traceroute -T -p 443 ejemplo.com
Piezas6
Escala1:1
N.ºPiezaTipoQué hace
1sudoComandoEl método TCP construye paquetes que requieren permisos de administrador.
2tracerouteComandoEl comando que muestra el camino que siguen tus paquetes.
3-TOpciónEnvía paquetes TCP en lugar de los UDP que usa por defecto.
4-pOpciónFija el puerto de destino de esos paquetes.
5443ValorEl puerto de HTTPS, el que usan casi todos los sitios web.
6ejemplo.comArgumentoEl host o dirección IP de destino.
Resultado

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.

§ 2

Opciones

Las que sí vas a usar
OpciónQué hace
-nNo 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-hopsMáximo de saltos que pregunta (30 por defecto). Con un número menor la revisión termina antes.
-q N--queriesPaquetes que envía a cada salto (3 por defecto). Con 1 queda más rápido, aunque menos confiable.
-w N--waitSegundos máximos que espera la respuesta de cada paquete antes de marcarlo con asterisco (5 por defecto).
-I--icmpUsa paquetes ICMP en vez de UDP, igual que ping. En Debian y Ubuntu funciona sin sudo; en algunos sistemas sí lo pide.
-T--tcpUsa 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--portPuerto de destino. Con -T es el puerto fijo que se prueba; con UDP es el puerto inicial, que traceroute va subiendo en cada paquete.
-4Fuerza la revisión por IPv4. Con -6 la haces por IPv6.
§ 3

Fallas comunes

FallaRemedio
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.
§ 4

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.
§ 5

Ver también