GNU/Linux >> Tutoriales Linux >  >> Linux

16 ejemplos prácticos del comando Traceroute en Linux

Internet es un vasto sistema de red lleno de bases de datos, servidores, enrutadores y otras estructuras web. Cuando escribe una dirección web y presiona el botón Intro en su navegador web, se enruta a través de su conexión a Internet a la dirección del host a través de la web. En medio del destino, cuando su paquete comienza el viaje desde la computadora y llega al servidor de destino, viaja mucho dentro de la web. Muchas herramientas de Linux, Windows y Mac le permiten rastrear cada paso de su paquete de Internet. El comando traceroute es una de las herramientas más utilizadas que puede usar en Linux para rastrear cada paso, estado en vivo, fuerza de conexión, latencia y mucho más con respecto a sus paquetes de Internet.

Ping frente a comando Traceroute en Linux

Sin duda, Ping es el comando de red más utilizado y sencillo que muestra si la dirección de destino está activa o no. La diferencia entre el comando Ping y traceroute es que Ping solo detecta si el servidor o la dirección están activos o no simplemente enviando un paquete y analizando la señal.

Mientras que el comando traceroute puede resolver muchos más problemas de red y determinar la ruta de la red para alcanzar la dirección de destino. El comando traceroute también puede predecir la cantidad de tiempo para cargar una página web, detectar los enrutadores en la dirección web, los nombres de host, los nombres de los servidores DNS y muchos más.

Cuando ejecutamos el comando Ping en un sistema de red, el comando envía automáticamente cuatro paquetes de datos al sitio de destino; y si uno de ellos llega al sitio, entonces el comando determina que el sitio es conectable y determina cuántos segundos tomó establecer la conexión.

Este es un formato de comando del comando Ping para Linux: 

ping <IP address>
ping <domain name>

El comando traceroute nos brinda más información sobre el destino y cuántos milisegundos tomará llegar al sitio. A diferencia del comando Ping, el comando traceroute nos dice las direcciones IP de cada dispositivo y calcula el tiempo de ida y vuelta de los datos de cada enrutador en lugar de medir el único destino final. También cuenta el número total de saltos en la ruta.

Este es un formato de comando del comando traceroute para Linux: 

- -
traceroute <ip_address>

Diferencia entre Traceroute y Mtr y Tracert en Linux

Estoy seguro de que ya ha oído hablar del comando traceroute, el comando mtr y el comando tracert para rastrear los datos en un modelo de red. En Linux y Mac, podemos usar el comando traceroute, donde la versión de Windows del comando traceroute es el comando tracert. Básicamente, traceroute y tracert son los mismos comandos.

Ahora, veremos la diferencia entre el comando traceroute y el comando mtr. La forma completa del MTR es TraceRoute de Matt, que es un comando modificado del comando traceroute. En traceroute, los paquetes se rastrean a medida que viajan a través de una red IP a un host específico.

Ejemplo de un comando traceroute:

$ traceroute 1.1.1.1
traceroute to 1.1.1.1 (1.1.1.1), 30 hops max, 60 byte packets
1  192.168.1.1 (192.168.1.1)  0.265 ms  0.248 ms  0.239 ms
2  * * *
3  X-X-X-X.X.X.pl (X.X.X.X)  21.871 ms  22.061 ms  25.072 ms
(more data here)
10  one.one.one.one (1.1.1.1)  24.072 ms  22.439 ms  21.497 ms

El MTR es una herramienta de diagnóstico de red única que combina funciones de rastreo y ping. El MTR imprime algunas de las salidas de traceroute junto con los resultados de Ping.

Ejemplo de un comando MTR:

$ mtr 1.1.1.1 -c 5 --report
Start: 2019-08-09T15:13:28+0200
HOST: blackhole                   Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.1.1                0.0%     5    0.2   0.1   0.1   0.2   0.0
  2.|-- X-X-X-X.X.X                0.0%     5    9.7   9.0   8.4   9.7   0.5
  3.|-- X-X-X-X.X.X                0.0%     5    9.6   8.6   6.2   9.8   1.5
  (more data here)
  10.|-- one.one.one.one            0.0%     5   12.8  13.4  10.7  18.9   3.3

¿Cómo funciona el comando Traceroute en Linux?

El paquete de nuestro sistema a la dirección del host viaja a través del enrutador, los puntos de acceso y las interfaces de red. Para determinar la ruta real de su paquete de datos, el comando traceroute utiliza el encabezado IP, el Protocolo de mensajes de control de Internet (ICMP) y el TTL o las herramientas de tiempo de vida en un sistema de red.

El seguimiento del paquete de Internet puede ser menos complicado cuando utiliza una conexión LAN muy pequeña en su sistema. Al ingresar a una red de área amplia, necesita el comando traceroute para leer el encabezado de datos para medir la longitud, el origen y el destino, y el protocolo.

El comando traceroute utiliza el protocolo TCP para establecer la conexión. Y el valor TTL de 8 bits también nos proporciona los números de contador TTL que determinan el número total de encuentros entre el paquete de datos y el destino a través de los enrutadores. El paquete obtiene un error de tiempo de espera cuando el valor TTL es uno. Y el ICMP envía un mensaje desde el origen al destino del paquete que garantiza el tiempo de espera.

Sintaxis de Traceroute en Linux

Aquí, veremos las sintaxis básicas del comando traceroute en Linux. Comprender las sintaxis definitivamente lo ayudará a comprender todos los ejemplos del comando traceroute que enumeraremos a continuación.

Aquí está el formato del comando:

traceroute [options]  host_Address [pathlength]
  • -f, –first-hop=NUM:Establece la distancia entre el primer salto y el siguiente salto.
  • -g, –gateways=GATES:en enrutamiento abierto, muestra una lista de puertas de enlace.
  • -I, –ICMP:como sonda, se especifica ICMP ECHO.
  • -m, –max-hop=NUM:Establece el número de saltos; el valor predeterminado es 64.
  • -M, –type=METHOD:las rutas de seguimiento se realizan con ICMP o UDP; el método predeterminado es UDP.
  • -p, –port=PORT:Define el puerto de red; el valor predeterminado es 33434.
  • -q, –tries=NUM:se reenviarán NUM paquetes de sondeo por salto.
  • –resolve-hostnames:puede usar esta sintaxis para corregir los nombres de host.
  • -t, –tos=NUM:el TOS o el tipo de servicio se define en el NUM
  • -w, –wait=NUM:Define el tiempo de espera en segundos.
  • -? –ayuda:Imprime la ayuda y las guías manuales para el comando traceroute en Linux.
  • –uso:Muestra el uso en un breve texto.
  • -V, –version:Imprime la versión actual del comando traceroute en Linux.

Instalar el Comando Traceroute en Linux

El proceso de instalación del comando traceroute en las distribuciones de Linux es sencillo. En los sistemas Windows y Mac, la herramienta traceroute viene preinstalada. En Linux, primero debe instalarlo. Aquí he enumerado los comandos de instalación para los sistemas Ubuntu/Debian, RedHat, Fedora y Arch Linux.

Instalar el comando traceroute en Arch Linux.

sudo pacman -Sy traceroute

Obtenga el comando traceroute en Ubuntu/Debian Linux.

sudo apt-get install traceroute

Instale la herramienta traceroute en los sistemas Fedora y Red Hat Linux.

# yum install traceroute -y

Una vez que finaliza la instalación, puede verificar la versión de traceroute para asegurarse de que la herramienta se haya instalado correctamente en su máquina Linux.

$ traceroute --version

Ejemplos del comando Traceroute en Linux

Ahora veremos algunos ejemplos útiles y prácticos de la vida real del comando traceroute que debe aprender. El comando traceroute funciona sin problemas con todas las principales distribuciones de Linux tanto en el escritorio como en el servidor.

1. Ejecute Traceroute para obtener una descripción general 

El comando traceroute mencionado a continuación nos muestra la dirección IP, el número total de saltos en toda la ruta, la duración total para establecer la conexión y el tamaño de los empacadores.

traceroute ubuntupit.com

2. Ocultar nombres de dispositivos

Si desea ocultar el nombre de los dispositivos de red en la salida del comando traceroute, agregue  -n firma el comando.

traceroute -n  ubuntupit.com

3. Configuración del valor de tiempo de espera de Traceroute

A pesar de tener un valor de tiempo de espera predeterminado del comando traceroute, puede establecer manualmente el valor de tiempo de espera por su cuenta. El comando traceroute mencionado a continuación muestra cómo establecer el valor de tiempo de espera en 7 segundos en Linux.

traceroute -w 7.0 ubuntupit.com

4. Configuración del número de pruebas

Para establecer la cantidad de pruebas o la cantidad de consultas por salto para una ejecución del comando traceroute en Linux, puede usar el siguiente comando.

traceroute -q 1 ubuntupit.com

5. Configuración del valor TTL inicial

El uso de la sintaxis del indicador -f en el comando traceroute le permitirá establecer el valor TTL o el valor de la herramienta de tiempo de vida en Linux.

traceroute -f 11 ubuntupit.com

6. Almacene el resultado en un archivo de texto

Puede exportar los resultados del comando traceroute a un archivo de texto a través del comando proporcionado a continuación en Linux.

traceroute google.com > results.txt

7. Rastrear la ruta usando IPv6

Si su conexión a Internet tiene una configuración de IPv6, puede usar el comando traceroute mencionado a continuación para rastrear la conexión.

traceroute -6 ipv6.google.com

8. Traza la ruta usando Ipv4

Del mismo modo, también puede definir una conexión IPv4 a través del comando traceroute mencionado a continuación en Linux.

traceroute 4 google.com 

9. Especifique la interfaz (NIC) a usar

Si su sistema Linux tiene más de una tarjeta de interfaz de red (NIC), puede asignar una de sus NIC para usar el comando traceroute con el indicador -i mencionando el nombre de la NIC.

traceroute -i enp8s0 google.com

Si necesita saber el nombre de su tarjeta de interfaz de red, puede ejecutar el comando ifconfig.

$ ifconfig

10. Establecer el tiempo de espera de respuesta

Para cambiar el tiempo de espera de respuesta predeterminado del comando traceroute, puede usar un indicador -w en el comando traceroute en Linux. Este pequeño ajuste le daría a su paquete de datos viajar un poco más para llegar a la dirección de destino.

traceroute -w 1 google.com

11. Desactivar dirección IP y asignación de nombre de host

Para deshabilitar la dirección IP y ocultar la asignación de host en Linux, use un signo n en el comando traceroute. Esto permitirá que el usuario no imprima la dirección IP del host y el nombre del host.

traceroute n google.com 

12. Establecer el número máximo de saltos

De forma predeterminada, la cantidad promedio de saltos del comando traceroute es 30. Puede cambiar el valor de salto en el comando traceroute agregando el valor de salto con un indicador -m en el comando.

traceroute -m 7 google.com 

13. No fragmente el paquete

Si no desea fragmentar el paquete de datos en su sistema Linux, use el indicador -F en su comando traceroute.

$ traceroute -F google.com

14. Dirija el paquete a través de la puerta

Si desea enrutar el comando traceroute a través de su puerta de enlace deseada, puede usar el signo -g junto con el comando para agregar su puerta de enlace al comando de Linux.

$ traceroute -g 192.168.1.6 google.com

15. Establezca el puerto de destino para usar

De manera predeterminada, el comando traceroute usa el puerto de red 33434. Si necesita cambiar el puerto de red, puede usar el signo -p en el comando traceroute en Linux.

$ traceroute  -p 20292 google.com

16. Cómo obtener ayuda

Si necesita más ayuda y manuales para el comando traceroute, ejecute los comandos mencionados a continuación en el shell. Los manuales definitivamente lo ayudarán a comenzar a usar la herramienta.

traceroute --help  
man traceroute 

Problemas que puede enfrentar al usar el comando Traceroute

Mientras usa el comando traceroute en Linux, es posible que tenga algunos problemas si es nuevo. Aquí hemos enumerado algunos de los problemas más enfrentados por diferentes usuarios de la comunidad de Linux para el comando traceroute.

1. Problema con el -n Bandera en T Comando raceroute en Linux

Anteriormente, vimos que puede usar un indicador n con el comando traceroute en Linux para ocultar el nombre del dispositivo. Si tiene algún problema al usar el indicador n en su shell y le da una opción no válida, debe asegurarse de tener instalada la herramienta traceroute correcta en su sistema. También puede intentar ejecutar los comandos mencionados a continuación para una instalación alternativa en su sistema.

Aquí está la salida de muestra.

$ sudo traceroute -n . Not working
$ traceroute: invalid option -- 'n'

Comandos para arreglar la herramienta traceroute en una máquina Linux.

$ update-alternatives --display traceroute
$ apt-get install traceroute
$ update-alternatives --configure traceroute

2. Los paquetes no se pueden autenticar:Problema con el comando Traceroute

Si la herramienta traceroute no se puede autenticar en su sistema Linux, asegúrese de ser el usuario sudo y de tener el permiso adecuado para ejecutar este comando en su sistema. Después de asegurarse de que esta herramienta esté instalada correctamente, ahora puede actualizar su repositorio de paquetes con el comando de actualización sudo mencionado a continuación.

sudo apt-get install traceroute
sudo apt-get update

Luego puede ejecutar el comando traceroute deseado y, con suerte, sus problemas se resolverán.

3. Las versiones más recientes de Traceroute pueden tener problemas

En algunos casos, en algunos dispositivos más antiguos, la última versión del comando traceroute puede mostrar algunos problemas. Por ejemplo, si desea ejecutar el comando traceroute con el indicador -A para definir la ruta del comando, es posible que tenga un problema.

Ejemplo de salida de error:

~$ traceroute -A 8.8.8.8
traceroute -m 30 -q 1 -w 3 -A 8.8.8.8
traceroute: invalid option -- 'A'
Try 'traceroute --help' or 'traceroute --usage' for more information.
 -A     Perform AS path lookups in routing registries and print  results
          directly after the corresponding addresses.   

Este problema a menudo se resuelve automáticamente después de una actualización del repositorio. Si aún enfrenta este problema, reinicie su dispositivo, ejecute el comando correctamente y asegúrese de que su comando no tenga errores de tipeo.

~$ traceroute -A 8.8.8.8 
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets

4. Error de instalación de Traceroute en Linux

Si tiene algún problema al instalar el comando traceroute en su máquina Linux, asegúrese de que la ruta que está asignando para instalar esté disponible para la instalación del paquete. También debe asegurarse de tener el privilegio de superusuario para instalar esa herramienta. En la mayoría de los casos, los usuarios siguen intentando instalar el comando traceroute dentro de un directorio bloqueado y obtienen un error de permiso denegado.

Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable  to lock the administration  directory (/var/lib/dpkg/), are you root?

Puede ejecutar cualquiera de los conjuntos de comandos mencionados a continuación para resolver este problema. No olvide reparar el repositorio que falta e instalar el comando traceroute en Linux.

sudo apt-get install --fix-missing  
sudo apt-get update && sudo apt-get install traceroute 

Obtenga el repositorio del universo e instale el comando traceroute.

sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install inetutils-traceroute

5. Eliminar corchetes () alrededor de la dirección IP en Traceroute en Linux

A veces, puede obtener la dirección IP de salida dentro del primer corchete o entre paréntesis en el terminal.

Aquí hay una salida de muestra:

traceroute -m2 8.8.8.8 |grep .net |awk '{print $3}'
(207.225.112.2)

Para eliminar los corchetes de la salida, ejecute el comando mencionado a continuación.

$ traceroute -m 2 8.8.8.8 | awk '/net/{gsub(/\(|\)/,"");print $3}'             
Or
$ traceroute -m 2 8.8.8.8 | awk '/.net/{print $3}'  |  tr -d '()'
207.225.112.2

Palabras finales

El uso de la herramienta traceroute para la solución de problemas de red puede hacer que su tarea sea más fácil y eficiente. Los usuarios novatos pueden tardar unos días en empezar a usar este comando, pero una vez que se acostumbren a esta herramienta, descubrirán cuánto disfrutan usándola en Linux.

En toda la publicación, hemos descrito muchas cosas sobre el comando traceroute en Linux. He intentado ilustrar el comando traceroute de la forma más sencilla posible. Espero que este post te haya sido de utilidad; en caso afirmativo, comparta esta publicación con sus amigos y la comunidad de Linux. También puedes escribir tus opiniones sobre esta publicación en la sección de comentarios.


Linux
  1. Comando cp en Linux:7 ejemplos prácticos

  2. Comando de apagado de Linux:5 ejemplos prácticos

  3. 5 ejemplos prácticos del comando dd en Linux

  4. 8 ejemplos de comandos TR de Linux

  5. Ejemplos de comandos rm en Linux

12 ejemplos prácticos de In Command en Linux

15 ejemplos prácticos del comando Rsync en Linux

5 ejemplos prácticos de Tail Command en Linux

Comando echo en Linux:7 ejemplos prácticos

Ejemplos prácticos de comando ping en Linux

Ejemplos de comandos id en Linux