Comando traceroute: instalación, uso y opciones -n, -I, -T
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
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 traceroutepackage traceroute is not installedEn 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 tracerouteLast 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 tracerouteLast 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 --versionModern traceroute for Linux, version 2.1.0
Copyright (c) 2016 Dmitry Butskoy, License: GPL v2 or any laterLa 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 --versionModern traceroute for Linux, version 2.1.2
Copyright (c) 2016 Dmitry Butskoy, License: GPL v2 or any laterEn 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
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.comtraceroute 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 msLa 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.
| Salida | Significado |
|---|---|
| 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 max | NĆŗmero mĆ”ximo de saltos que se comprueban ā se fija con -m, 30 por defecto |
| 60 byte packets | TamaƱo de los paquetes enviados ā 60 bytes por defecto en IPv4 y 80 bytes en IPv6 (segĆŗn el manual oficial) |
| 1 | NĆŗmero de salto ā el valor de TTL puesto en ese paquete |
| 192.0.2.1 | Dirección del router que respondió en ese salto |
| 0.110 ms 0.083 ms 0.067 ms | Tiempos de ida y vuelta de los tres paquetes enviados a un salto |
| 198.51.100.77 ⦠198.51.100.13 | LĆ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 Ā· !X | Marca 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 localhosttraceroute 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 msAl 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
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 localhosttraceroute 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.1traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets
1 127.0.0.1 0.096 mstraceroute -q 5 -n 127.0.0.1traceroute 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.1max hops cannot be more than 255Por 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.1You do not have enough privileges to use this traceroute method.
socket: Operation not permittedtraceroute -T -n 127.0.0.1You do not have enough privileges to use this traceroute method.
socket: Operation not permittedEl 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_range1 0El 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ón | Tarea | Resultado en este artĆculo |
|---|---|---|
| -n | Muestra solo direcciones IP, sin convertirlas en nombres de host | Con localhost, en la columna del salto solo quedó 127.0.0.1 |
| -q | Fija el nĆŗmero de paquetes enviados por salto (3 por defecto) | -q 1 muestra un tiempo, -q 5 muestra cinco |
| -m | Fija 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] |
| -I | EnvĆa los paquetes como ICMP ECHO | Mensaje de permisos insuficientes y código de salida 1 con una cuenta normal |
| -T | EnvĆa los paquetes como TCP SYN (puerto 80 por defecto) | Mensaje de permisos insuficientes y código de salida 1 con una cuenta normal |
| -U | EnvĆa por UDP con el puerto de destino fijo en 53 | example.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ón | Tarea |
|---|---|
| -w | Fija el tiempo mƔximo de espera de una respuesta (5 segundos por defecto) |
| -p | Fija el puerto (puerto inicial en UDP, puerto de destino fijo en TCP, nĆŗmero de secuencia inicial en ICMP) |
| -f | Fija el TTL inicial (1 por defecto) |
| -N | Fija el nĆŗmero de paquetes enviados a la vez (16 por defecto; redĆŗcelo con routers que limitan su velocidad de respuesta) |
| -s | Cambia la dirección de origen por la de otra interfaz del servidor |
| -i | Fija la interfaz de red por la que salen los paquetes (por defecto, segĆŗn la tabla de enrutamiento) |
| -4 | EnvĆa solo por IPv4 (IPv4 es el valor por defecto si un nombre devuelve direcciones IPv4 e IPv6) |
| -6 | EnvĆ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.
4ļøā£ Saltos sin respuesta en traceroute
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.comtraceroute 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 leerlo | Volver a comprobar |
|---|---|---|
| Un salto intermedio | Ese salto no responde ā si los saltos siguientes responden, los paquetes lo pasaron | DĆ©jalo y lee los saltos siguientes |
| Antes del destino, hasta -m | El 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ón | Si 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 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
Red · Configuración
[Linux] Comando ip: gestión de interfaces de red y configuración
El comando ip comprueba y gestiona el estado de las interfaces de red, las direcciones IP y la tabla de enrutamiento.
Cortafuegos Ā· Ubuntu
[Ubuntu] Configurar el cortafuegos UFW de Ubuntu
Configuración para activar UFW, el cortafuegos predeterminado de Ubuntu, y comprobar su estado y sus reglas.
Red Ā· DNS
Comando host de Linux | comando de consulta DNS
El comando host consulta el DNS para convertir nombres de host en direcciones IP y direcciones IP en nombres de host.
ā¹ļø 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.