GNU/Linux >> Tutoriales Linux >  >> Linux

5 Ejemplos de comandos Traceroute de UNIX/Linux

Hay escenarios en los que a uno le gustaría saber la ruta que sigue una conexión. Por ruta aquí nos referimos a las direcciones IP de todas las entidades de reenvío (como enrutadores intermedios).

Aunque no hay garantía de que la ruta siga siendo la misma para todos los paquetes de una conexión, por lo general es la misma. Esta información relacionada con la ruta puede ser muy útil al depurar problemas relacionados con la red.

la utilidad traceroute imprime la ruta completa a un destino en particular. En este artículo discutiremos cómo funciona traceroute y veremos algunos ejemplos prácticos.

¿Cómo funciona Traceroute?

Antes de comenzar con los ejemplos, comprendamos el concepto sobre el que funciona traceroute.

La utilidad Traceroute utiliza el campo TTL en el encabezado IP para lograr su funcionamiento. Para los usuarios que son nuevos en el campo TTL, este campo describe cuántos saltos tomará un paquete en particular mientras viaja en la red.

Entonces, esto describe efectivamente la vida útil del paquete en la red. Este campo generalmente se establece en 32 o 64. Cada vez que el paquete se retiene en un enrutador intermedio, disminuye el valor TTL en 1. Cuando un enrutador encuentra el valor TTL de 1 en un paquete recibido, ese paquete no se reenvía sino que en su lugar desechado.

Después de descartar el paquete, el enrutador envía un mensaje de error ICMP de "Tiempo excedido" a la fuente desde donde se generó el paquete. El paquete ICMP que se devuelve contiene la dirección IP del enrutador.

Entonces, ahora se puede entender fácilmente que traceroute opera enviando paquetes con valor TTL comenzando desde 1 y luego incrementándose en uno cada vez. Cada vez que un enrutador recibe el paquete, verifica el campo TTL, si el campo TTL es 1, descarta el paquete y envía el paquete de error ICMP que contiene su dirección IP y esto es lo que requiere traceroute. Por lo tanto, traceroute obtiene de forma incremental la IP de todos los enrutadores entre el origen y el destino.

También debe comprender los campos de encabezado de IP que discutimos hace un tiempo.

Ejemplos de trazado de rutas

1. ¿Cómo ejecutar traceroute?

$ traceroute <server-name>

El nombre del servidor anterior es el nombre de destino o la dirección IP. Por ejemplo, traceroute se usa para encontrar la ruta de red desde mi máquina a google.com:

$ traceroute google.com
traceroute to google.com (74.125.236.132), 30 hops max, 60 byte packets
1  220.224.141.129 (220.224.141.129)  89.174 ms  89.094 ms  89.054 ms
2  115.255.239.65 (115.255.239.65)  109.037 ms  108.994 ms  108.963 ms
3  124.124.251.245 (124.124.251.245)  108.937 ms  121.322 ms  121.300 ms
4  * 115.255.239.45 (115.255.239.45)  113.754 ms  113.692 ms
5  72.14.212.118 (72.14.212.118)  123.585 ms  123.558 ms  123.527 ms
6  72.14.232.202 (72.14.232.202)  123.499 ms  123.475 ms  143.523 ms
7  216.239.48.179 (216.239.48.179)  143.503 ms  95.106 ms  95.026 ms
8  bom03s02-in-f4.1e100.net (74.125.236.132)  94.980 ms  104.989 ms  104.954 ms

Cada línea proporciona los detalles de la interacción con cada enrutador encontrado. Entonces vemos que traceroute no solo brinda las direcciones IP de los enrutadores intermedios, sino también tres tiempos de ida y vuelta para ese enrutador en particular, ya que para cada enrutador, los comandos de traceroute disparan tres paquetes.

El campo '*' en la salida

Hay momentos en los que uno podría encontrar un '*' en la salida en lugar de un valor. Esto representa que no se pudo obtener el campo requerido. El motivo puede ser cualquier cosa, desde una falla en la búsqueda inversa de DNS hasta paquetes que no llegan al enrutador de destino o paquetes que se pierden en su camino de regreso. Entonces vemos que las razones pueden ser muchas, pero para todos estos tipos de casos, la utilidad traceroute proporciona un * en la salida.

2. Deshabilitar la asignación de dirección IP y nombre de host

Traceroute proporciona una opción a través de la cual se deshabilita el mapeo de direcciones IP con nombre de host (que intenta traceroute). La opción para hacer esto es '-n'. El siguiente ejemplo ilustra esto:

$ traceroute google.com -n
traceroute to google.com (173.194.36.7), 30 hops max, 60 byte packets
1  220.224.141.129  109.352 ms  109.280 ms  109.248 ms
2  115.255.239.65  131.633 ms  131.598 ms  131.573 ms
3  124.124.251.245  131.554 ms  131.529 ms  131.502 ms
4  115.255.239.45  131.478 ms  131.464 ms  199.741 ms
5  72.14.212.118  199.674 ms  199.637 ms  199.603 ms
6  209.85.241.52  199.578 ms  199.549 ms  209.838 ms
7  209.85.241.187  199.488 ms  177.264 ms  177.196 ms
8  173.194.36.7  177.159 ms  187.463 ms  187.434 ms

Entonces vemos que no se muestra ningún nombre de host en la salida.

3. Configurar tiempo de espera de respuesta

También se puede configurar el tiempo que espera la utilidad traceroute después de emitir un sondeo. Esto se puede hacer a través de la opción '-w' que proporciona. La opción -w espera un valor que la utilidad tomará como el tiempo de respuesta a esperar. En este ejemplo, el tiempo de espera es de 0,1 segundos y la utilidad traceroute no pudo esperar ninguna respuesta e imprimió todos los *.

$ traceroute google.com -w 0.1
traceroute to google.com (74.125.236.101), 30 hops max, 60 byte packets
1  * * *
2  * * *
3  * * *
..
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Entonces vemos que traceroute probó 30 intentos (los intentos máximos de salto) y luego se dio por vencido ya que no se recibió ningún paquete ICMP en 0.1 segundos.

4. Configurar número de consultas por salto

Como ya se explicó anteriormente, la utilidad traceroute envía 3 paquetes por salto para proporcionar 3 tiempos de ida y vuelta. Este valor predeterminado de 3 es configurable mediante la opción '-q'. Esta opción espera un número entero que establece como nuevo valor del número de sondas por salto.

$ traceroute google.com -q 5
traceroute to google.com (173.194.36.46), 30 hops max, 60 byte packets
1  220.224.141.129 (220.224.141.129)  91.579 ms  91.497 ms  91.458 ms  91.422 ms  91.385 ms
2  115.255.239.65 (115.255.239.65)  91.356 ms  91.325 ms  98.868 ms  98.848 ms  98.829 ms
3  124.124.251.245 (124.124.251.245)  94.581 ms  107.083 ms  107.044 ms  107.017 ms  106.981 ms
4  115.255.239.45 (115.255.239.45)  106.948 ms  106.918 ms  144.432 ms  144.412 ms  144.392 ms
5  72.14.212.118 (72.14.212.118)  115.565 ms  115.485 ms  115.446 ms  115.408 ms  115.381 ms
6  72.14.232.202 (72.14.232.202)  115.351 ms  87.232 ms  117.157 ms  117.123 ms  117.049 ms
7  209.85.241.189 (209.85.241.189)  126.998 ms  126.973 ms  126.950 ms  126.929 ms  126.912 ms
8  bom04s02-in-f14.1e100.net (173.194.36.46)  126.889 ms  95.526 ms  95.450 ms  95.418 ms  105.392 ms

Entonces vemos que después de configurar el número de sondas en 5, la salida comenzó a mostrar cinco tiempos de ida y vuelta por salto.

5. Configure el valor TTL para comenzar

La utilidad Traceroute es lo suficientemente flexible como para aceptar el valor TTL con el que el usuario desea iniciar la utilidad. De forma predeterminada, su valor es 1, lo que significa que comienza con el primer enrutador en la ruta, pero al usar la opción '-f' (que espera el nuevo valor de TTL), se puede establecer un nuevo valor del campo TTL. Por ejemplo, probé una operación de trazado de ruta normal y luego probé un trazado de ruta con un valor de TTL diferente.

$ traceroute google.com
traceroute to google.com (74.125.236.132), 30 hops max, 60 byte packets
1  220.224.141.129 (220.224.141.129)  89.181 ms  101.540 ms  101.503 ms
2  115.255.239.65 (115.255.239.65)  101.468 ms  101.431 ms  101.324 ms
3  124.124.251.245 (124.124.251.245)  121.373 ms  121.350 ms  158.694 ms
4  115.255.239.45 (115.255.239.45)  101.223 ms  141.135 ms  123.932 ms
5  72.14.212.118 (72.14.212.118)  123.867 ms  123.832 ms  123.802 ms
6  72.14.232.202 (72.14.232.202)  123.773 ms  123.742 ms  587.812 ms
7  216.239.48.179 (216.239.48.179)  587.723 ms  587.681 ms  587.642 ms
8  bom03s02-in-f4.1e100.net (74.125.236.132)  577.548 ms  577.524 ms  587.512 ms

$ traceroute google.com -f 8
traceroute to google.com (74.125.236.129), 30 hops max, 60 byte packets
8  bom03s02-in-f1.1e100.net (74.125.236.129)  96.961 ms  96.886 ms  96.849 ms

Entonces vemos que después de usar la opción -f con el valor 8, solo se mostró la última (octava) línea de la salida anterior.


Linux
  1. UNIX/Linux:10 ejemplos de comandos de Netstat

  2. 10 ejemplos de comandos Xargs en Linux / UNIX

  3. Ejemplos de comandos "uname" para comprobar la versión de UNIX/Linux

  4. Ejemplos de comandos sa en Linux

  5. w Ejemplos de comandos en Linux

Comando wc Linux con ejemplos

10 ejemplos de comandos iftop en Linux

16 ejemplos prácticos del comando Traceroute en Linux

15 ejemplos prácticos de comandos Grep en Linux / UNIX

Ejemplos de comandos id en Linux

ejemplos de comandos tail en UNIX/Linux