Comando traceroute: instalación, uso y opciones -n, -I, -T

Entorno de pruebaFamilia RHELAlmaLinux 9.8Cuenta rootDebian 12 Ā· traceroute 2.1.2 cuenta normalVerificado el 2026-10-29
Comandos de redtraceroute

Para comprobar salto a salto los routers por los que pasan los paquetes hasta el destino, usa el comando traceroute. En el servidor AlmaLinux 9.8 traceroute no estaba instalado, así que lo instalamos con dnf, y al trazar la ruta hasta example.com desde un servidor Debian 12 que incluye traceroute 2.1.2, se llegó al destino en el séptimo salto.

La salida siguiente es del servidor Debian 12, ejecutada con una cuenta normal, y solo la salida de rpm y dnf del capítulo de instalación procede del servidor AlmaLinux 9.8 (cuenta root). El nombre de host del servidor se cambió a server1, y las direcciones de routers y destinos de las rutas se cambiaron por direcciones de ejemplo (192.0.2.x, 198.51.100.x, 203.0.113.x). El número de versión del paquete instalado (la versión principal 2.1 no cambia) y la hora de los metadatos de dnf también son valores de ejemplo, y los tiempos de respuesta se dejaron tal como se midieron.

1ļøāƒ£ Instalar traceroute

  • ā†Ŗļø dnf en la familia RHEL, apt en la familia Debian

Que traceroute venga instalado por defecto depende de la distribución. Al ejecutarlo en el servidor AlmaLinux 9.8 apareció [traceroute: command not found], y la consulta con rpm tampoco encontró ningún paquete instalado.

rpm -q traceroute
package traceroute is not installed

En la familia RHEL se instala con dnf. Al previsualizar la instalación con [--assumeno], el único paquete a instalar fue traceroute, del repositorio baseos, sin ningún otro paquete adicional.

dnf install --assumeno traceroute
Last metadata expiration check: 0:05:00 ago on Thu Oct 29 09:00:00 2026.
Dependencies resolved.
================================================================================
 Package            Architecture   Version                 Repository      Size
================================================================================
Installing:
 traceroute         x86_64         3:2.1.0-9.el9           baseos          56 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 56 k
Installed size: 107 k
Operation aborted.

El tamaño de descarga fue de 56k y el tamaño instalado de 107k. [--assumeno] responde no a todas las preguntas, así que no instala nada y termina con [Operation aborted.] (según la documentación oficial de dnf).

La instalación real se hizo con [dnf install traceroute], sin [--assumeno].

dnf install traceroute
Last metadata expiration check: 0:20:00 ago on Thu Oct 29 09:00:00 2026.
Dependencies resolved.
================================================================================
 Package            Architecture   Version                 Repository      Size
================================================================================
Installing:
 traceroute         x86_64         3:2.1.0-9.el9           baseos          56 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 56 k
Installed size: 107 k
Downloading Packages:
traceroute-2.1.0-9.el9.x86_64.rpm               3.6 MB/s |  56 kB     00:00    
--------------------------------------------------------------------------------
Total                                            97 kB/s |  56 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : traceroute-3:2.1.0-9.el9.x86_64                        1/1 
  Running scriptlet: traceroute-3:2.1.0-9.el9.x86_64                        1/1 
  Verifying        : traceroute-3:2.1.0-9.el9.x86_64                        1/1 

Installed:
  traceroute-3:2.1.0-9.el9.x86_64                                               

Complete!

Bajo [Installed:] apareció solo el paquete traceroute, y la instalación terminó con [Complete!] sin paquetes de dependencias.

Después de instalarlo comprobamos la versión con [traceroute --version].

traceroute --version
Modern traceroute for Linux, version 2.1.0
Copyright (c) 2016  Dmitry Butskoy,   License: GPL v2 or any later

La ruta del ejecutable que encontró [command -v traceroute] fue [/usr/bin/traceroute].

En la familia Debian, instala el paquete traceroute del repositorio de la distribución con [apt install traceroute] (según la información oficial de paquetes de Debian). La versión instalada se comprueba con --version.

traceroute --version
Modern traceroute for Linux, version 2.1.2
Copyright (c) 2016  Dmitry Butskoy,   License: GPL v2 or any later

En el servidor Debian 12 el paquete traceroute ya estaba instalado, y la versión apareció como [Modern traceroute for Linux] 2.1.2.

2ļøāƒ£ Cómo usar el comando traceroute

  • ā†Ŗļø Forma bĆ”sica y cómo leer las lĆ­neas de salida

traceroute recibe un nombre o una dirección IP de destino y envía paquetes con un TTL que empieza en 1 y aumenta de uno en uno. Un paquete con TTL 1 expira en el primer router, y uno con TTL 2 expira en el segundo. A partir de las respuestas [time exceeded] que devuelven esos routers, traceroute muestra la dirección y el tiempo de ida y vuelta de cada salto (según el manual oficial).

Al llegar al destino, este responde con [port unreachable] y la traza termina en ese salto; si no llega, continúa hasta el número mÔximo de saltos. Según el manual oficial, se envían tres paquetes por salto, por lo que cada línea muestra tres tiempos, y por defecto se comprueban hasta 30 saltos.

En example.com mostramos solo las direcciones con -n y comprobamos únicamente hasta el décimo salto con -m 10.

traceroute -n -m 10 example.com
traceroute to example.com (203.0.113.154), 10 hops max, 60 byte packets
 1  192.0.2.1  0.110 ms  0.083 ms  0.067 ms
 2  192.0.2.2  0.348 ms  0.273 ms  0.263 ms
 3  198.51.100.77  0.426 ms  0.337 ms 198.51.100.13  1.251 ms
 4  198.51.100.49  0.968 ms  1.264 ms 198.51.100.53  1.148 ms
 5  * * *
 6  203.0.113.19  1.631 ms 203.0.113.25  2.549 ms 203.0.113.14  1.543 ms
 7  203.0.113.154  1.544 ms  1.656 ms  1.607 ms

La primera línea mostró el nombre de destino, la dirección a la que realmente se envió, el número mÔximo de saltos y el tamaño de paquete de 60 bytes. La dirección de destino respondió en el séptimo salto, así que terminó sin llegar al décimo, y toda la ejecución tardó menos de un segundo.

SalidaSignificado
traceroute to example.com (203.0.113.154)Nombre de destino y dirección a la que se resolvió y a la que realmente se envió
10 hops maxNĆŗmero mĆ”ximo de saltos que se comprueban — se fija con -m, 30 por defecto
60 byte packetsTamaƱo de los paquetes enviados — 60 bytes por defecto en IPv4 y 80 bytes en IPv6 (segĆŗn el manual oficial)
1NĆŗmero de salto — el valor de TTL puesto en ese paquete
192.0.2.1Dirección del router que respondió en ese salto
0.110 ms 0.083 ms 0.067 msTiempos de ida y vuelta de los tres paquetes enviados a un salto
198.51.100.77 … 198.51.100.13LĆ­nea con dos direcciones porque routers distintos respondieron a distintos paquetes en el mismo salto
* * *Ninguno de los tres paquetes recibió respuesta a tiempo — cada asterisco es un paquete
!H Ā· !N Ā· !P Ā· !XMarca de destino inalcanzable tras el tiempo — host, red o protocolo inalcanzable, o prohibido por administración (segĆŗn el manual oficial)

Los saltos tercero y cuarto mostraron dos direcciones en una línea, y el sexto mostró tres. Cuando routers distintos responden a los tres paquetes enviados a un salto, traceroute muestra seguidas todas las direcciones que respondieron, tal como indica el manual oficial.

Sin -n, traceroute convierte las direcciones que responden en nombres de host.

traceroute localhost
traceroute to localhost (127.0.0.1), 30 hops max, 60 byte packets
 1  server1 (127.0.0.1)  0.068 ms  0.048 ms  0.028 ms

Al ejecutarlo con localhost, la columna del salto mostró el nombre de host del servidor Debian 12, con la dirección 127.0.0.1 entre paréntesis.

3ļøāƒ£ Opciones de traceroute

  • ā†Ŗļø -n, -q, -m y los mĆ©todos de envĆ­o -I, -T

El --help de traceroute 2.1.2 muestra 34 opciones. De ellas, probamos con una cuenta normal del servidor Debian 12 -n, -q y -m, que cambian la salida, y -I y -T, que cambian los paquetes enviados.

[traceroute -n] muestra solo direcciones IP, sin convertirlas en nombres de host. Con -n en el mismo localhost, en la columna del salto solo quedó 127.0.0.1.

traceroute -n localhost
traceroute to localhost (127.0.0.1), 30 hops max, 60 byte packets
 1  127.0.0.1  0.073 ms  0.075 ms  0.025 ms

-q fija el número de paquetes enviados por salto, y su valor por defecto es 3. Con -q 1 apareció un solo tiempo, y con -q 5 aparecieron cinco.

traceroute -q 1 -n 127.0.0.1
traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets
 1  127.0.0.1  0.096 ms
traceroute -q 5 -n 127.0.0.1
traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets
 1  127.0.0.1  0.083 ms  0.028 ms  0.024 ms  0.022 ms  0.022 ms

-m cambia el número mÔximo de saltos que se comprueban. Al poner 256 se rechazó con [max hops cannot be more than 255].

traceroute -m 256 -n 127.0.0.1
max hops cannot be more than 255

Por defecto los paquetes se envían por UDP. -I los envía como ICMP ECHO, y -T como TCP SYN (puerto 80 por defecto). Estas dos opciones sirven para volver a comprobar con otro tipo de paquete una ruta que filtra UDP. Con una cuenta normal, ambas opciones dejaron un mensaje de permisos insuficientes y terminaron con el código de salida 1.

traceroute -I -n 127.0.0.1
You do not have enough privileges to use this traceroute method.
socket: Operation not permitted
traceroute -T -n 127.0.0.1
You do not have enough privileges to use this traceroute method.
socket: Operation not permitted

El manual oficial indica el mƩtodo por defecto y -U (puerto de destino 53 fijo) como los mƩtodos permitidos para cuentas normales. -I solo funciona con una cuenta normal cuando el ajuste del kernel ping_group_range permite el grupo de esa cuenta.

cat /proc/sys/net/ipv4/ping_group_range
1	0

El valor del servidor Debian 12 era [1 0], que según la documentación del kernel de Linux no permite ningún grupo. -T no estÔ entre los métodos permitidos para cuentas normales, sea cual sea este ajuste, así que estas dos opciones se ejecutan desde una cuenta con permisos de root.

šŸ“Œ Opciones principales: resultados de este artĆ­culo

OpciónTareaResultado en este artículo
-nMuestra solo direcciones IP, sin convertirlas en nombres de hostCon localhost, en la columna del salto solo quedó 127.0.0.1
-qFija el nĆŗmero de paquetes enviados por salto (3 por defecto)-q 1 muestra un tiempo, -q 5 muestra cinco
-mFija el número mÔximo de saltos que se comprueban (30 por defecto)Con -m 10, example.com terminó en el séptimo salto; -m 256 se rechazó con [max hops cannot be more than 255]
-IEnvía los paquetes como ICMP ECHOMensaje de permisos insuficientes y código de salida 1 con una cuenta normal
-TEnvía los paquetes como TCP SYN (puerto 80 por defecto)Mensaje de permisos insuficientes y código de salida 1 con una cuenta normal
-UEnvía por UDP con el puerto de destino fijo en 53example.com mostró * * * del séptimo al décimo salto, y la dirección de destino no apareció

šŸ“Ž Otras opciones: segĆŗn el manual oficial

OpciónTarea
-wFija el tiempo mƔximo de espera de una respuesta (5 segundos por defecto)
-pFija el puerto (puerto inicial en UDP, puerto de destino fijo en TCP, nĆŗmero de secuencia inicial en ICMP)
-fFija el TTL inicial (1 por defecto)
-NFija el nĆŗmero de paquetes enviados a la vez (16 por defecto; redĆŗcelo con routers que limitan su velocidad de respuesta)
-sCambia la dirección de origen por la de otra interfaz del servidor
-iFija la interfaz de red por la que salen los paquetes (por defecto, segĆŗn la tabla de enrutamiento)
-4EnvĆ­a solo por IPv4 (IPv4 es el valor por defecto si un nombre devuelve direcciones IPv4 e IPv6)
-6EnvĆ­a solo por IPv6

šŸ”² Simulador del comando traceroute

En el simulador de abajo puedes acortar la ruta de example.com con -m, o probar con 127.0.0.1 y localhost -n, -q, -f (salto inicial) y las opciones -I y -T, que requieren permisos.

Simulador del comando traceroutetraceroute 2.1.2
[root@server work]#
Funciona solo en tu navegador y no envĆ­a paquetes reales. Con ↑↓ recuperas los comandos anteriores.

4ļøāƒ£ Saltos sin respuesta en traceroute

  • ā†Ŗļø LĆ­neas * * * y cortafuegos

Aunque puedas cambiar el método de envío, un salto que no responde sigue apareciendo como [* * *]. Según el manual oficial, cada asterisco es un paquete que no recibió respuesta a tiempo, y la espera es de 5 segundos como mÔximo.

Al ver * * * en un salto intermedio es fƔcil pensar que la ruta se corta ahƭ. En la ruta de example.com enviada con el mƩtodo por defecto, solo el quinto salto fue * * *, pero los paquetes pasaron ese salto, siguieron por el sexto y llegaron al destino en el sƩptimo.

-U envía con el puerto de destino fijo en 53. Al enviar paquetes al mismo example.com con -U, el router situado antes del destino respondió en el sexto salto, y después * * * continuó del séptimo al décimo salto sin que apareciera la dirección de destino.

traceroute -U -n -m 10 example.com
traceroute to example.com (203.0.113.154), 10 hops max, 60 byte packets
 1  192.0.2.1  0.176 ms  0.096 ms  0.661 ms
 2  * * *
 3  198.51.100.13  0.622 ms  0.586 ms  0.562 ms
 4  198.51.100.49  0.898 ms  1.314 ms 198.51.100.53  1.159 ms
 5  * * *
 6  203.0.113.9  3.773 ms 203.0.113.27  3.275 ms 203.0.113.14  8.973 ms
 7  * * *
 8  * * *
 9  * * *
10  * * *

El manual oficial explica que con -U el programa del lado del destino normalmente no responde, por lo que no se ve el último salto. En una ruta donde un cortafuegos filtra los puertos UDP de traceroute o ICMP ECHO, tampoco llegan respuestas desde detrÔs de ese cortafuegos, y solo continúa * * *.

Dónde aparece * * *Cómo leerloVolver a comprobar
Un salto intermedioEse salto no responde — si los saltos siguientes responden, los paquetes lo pasaronDĆ©jalo y lee los saltos siguientes
Antes del destino, hasta -mEl destino o un cortafuegos situado antes filtra ese paquete o puerto (según el manual oficial)Método por defecto, -T (root), [-T -p puerto]
Saltos que cambian en cada ejecuciónSi un router limita su velocidad de respuesta ICMP, pueden faltar algunas respuestas (según el manual oficial)[-N 1] · [-w 5]

Si se detuvo antes del destino, cambia el mƩtodo de envƭo y vuelve a comprobar. El manual oficial presenta -T como un mƩtodo pensado para atravesar cortafuegos. Para un destino con un puerto claramente abierto, como un servidor de correo, explica que indicar ese puerto como en [-T -p 25] puede llegar incluso cuando -I no llega.

El * de un salto intermedio también puede cambiar según el método de envío o la ejecución. El segundo salto respondió con el método por defecto, pero con -U apareció como * * *. El manual oficial dice que, si un router limita su velocidad de respuesta ICMP, pueden faltar algunas respuestas, y aconseja reducir los paquetes enviados a la vez con [-N 1]. traceroute también acorta la espera según los tiempos de respuesta ya recibidos; si por eso el * aparece antes de tiempo, indica un solo tiempo de espera como en [-w 5] para desactivar ese cÔlculo (según el manual oficial).

5ļøāƒ£ tracepath en lugar de traceroute

  • ā†Ŗļø En servidores donde es difĆ­cil instalar

En un servidor donde no puedes instalar paquetes, comprueba la misma ruta con el comando tracepath. El servidor AlmaLinux 9.8 no tenía traceroute, pero sí tracepath, como parte de iputils 20210202. El servidor Debian 12, en cambio, no tenía tracepath. Según el manual oficial de tracepath, se ejecuta sin permisos de root, pero tiene menos opciones y solo envía UDP. Por eso, cuando necesites cambiar el método de envío con -I o -T, o enviar varios paquetes por salto con -q para compararlos, instala y usa traceroute.

šŸ”¢ FAQ & contenido recomendado

No, el código de salida no lo indica. Fue 0 tanto cuando el método por defecto llegó a example.com en el séptimo salto como cuando -U seguía sin llegar en el décimo. Las opciones incorrectas, los valores de -m fuera de rango y los fallos de resolución de nombres terminaron con 2, y -I y -T con una cuenta normal terminaron con 1. El código de salida solo distingue errores de ejecución, así que para saber si llegó al destino comprueba si la última línea muestra la dirección de destino.

Según la documentación de Microsoft, tracert de Windows envía ICMP Echo Request aumentando el TTL, mientras que traceroute de Linux envía paquetes UDP por defecto (según el manual oficial). Para comprobar en Linux con el mismo método ICMP que tracert, añade -I.

Si fijas el primer TTL con -f, la salida empieza en ese salto. Según el manual oficial, el valor por defecto es 1, y con -f 2 en 127.0.0.1 los números de salto empezaron en 2. Cuando el salto mÔximo es menor que el inicial, como con -m 0, se rechazó con [first hop out of range].

ā„¹ļø Aviso de afiliados
El contenido de este sitio incluye enlaces de afiliado. Cuando un visitante compra un producto o servicio a travĆ©s de uno de ellos, el sitio recibe una comisión del vendedor. El importe que paga el comprador(baja durante las promociones ↓)no aumenta. Los precios, descuentos y existencias publicados corresponden al momento de redacción y pueden variar, asĆ­ que confĆ­rmalos con el vendedor antes de comprar. Los productos se eligen y evalĆŗan con criterios propios, y las comisiones no influyen en el orden ni en el contenido de las reseƱas.

Deja una respuesta

Tu dirección de correo electrónico no serÔ publicada. Los campos obligatorios estÔn marcados con *

Demuestra que eres humano: 4   +   6   =