Articulo de referencia

trazado de ruta

traceroute6 command"},"screenshot size":{"wt":"250px"},"screenshot alt":{"wt":""},"collapsible":{"wt":""},"author":{"wt":"[[Van Jacobson]]"},"released":{"wt":"{{Start date and a...

En informática , traceroutey tracertson comandos de interfaz de línea de comandos de diagnóstico para mostrar posibles rutas (caminos) y retrasos de tránsito de paquetes a través de una red de Protocolo de Internet (IP) .

La utilidad ping solo calcula los tiempos de ida y vuelta finales desde el punto de destino, mientras que las utilidades de rastreo de rutas pueden mostrar más detalles, como los tiempos de ida y vuelta de los paquetes recibidos de cada host sucesivo (nodo remoto) a lo largo de la ruta hacia un destino y la suma de los tiempos medios en cada salto como medida del tiempo total empleado para establecer la conexión.

Para el Protocolo de Internet versión 6 (IPv6), la herramienta a veces tiene el nombre [ 1 ] y . [ 2 ]traceroute6tracert6

Implementaciones

Un comando está disponible en muchos sistemas operativos modernos , generalmente llamado tracerouteen sistemas tipo Unix como FreeBSD , macOS y Linux y llamado tracerten Windows y ReactOS .

En Linux, tracepathes una utilidad similar a traceroute, con la principal diferencia de que no requiere privilegios de superusuario . [ 3 ] Tracepath forma parte del grupo iputils que contiene el paquete ping . [ 4 ]

La funcionalidad estaba disponible gráficamente en macOS, pero ha sido descontinuada desde el lanzamiento de macOS Big Sur . [ 5 ]

Los sistemas operativos basados ​​en Windows NT también ofrecen PathPing , que combina la funcionalidad de ping con la de tracert.

En sistemas operativos tipo Unix , traceroute envía, por defecto, una secuencia de paquetes del Protocolo de datagramas de usuario (UDP), con números de puerto de destino que van desde 33434 hasta 33534; las implementaciones de traceroute incluidas en Linux , [ 6 ] FreeBSD , [ 7 ] NetBSD , [ 8 ] OpenBSD , [ 9 ] DragonFly BSD , [ 10 ] y macOS incluyen una opción para usar paquetes de solicitud de eco ICMP ( -I ), o cualquier protocolo arbitrario ( -P ) como UDP, TCP usando paquetes TCP SYN , o ICMP. [ 11 ]

En Windows, tracert envía paquetes ICMP Echo Request, en lugar de los paquetes UDP que traceroute envía por defecto. [ 12 ]

El valor de tiempo de vida (TTL), también conocido como límite de salto , se utiliza para determinar los enrutadores intermedios que se atraviesan hacia el destino. Traceroute envía paquetes con valores TTL que aumentan gradualmente de un paquete a otro, comenzando con un valor TTL de uno. Los enrutadores decrementan los valores TTL de los paquetes en uno al enrutar y descartan los paquetes cuyo valor TTL ha llegado a cero, devolviendo el mensaje de error ICMP Tiempo excedido . [ 11 ] Para el primer conjunto de paquetes, el primer enrutador recibe el paquete, decrementa el valor TTL y descarta el paquete porque entonces tiene un valor TTL de cero. El enrutador envía un mensaje ICMP Tiempo excedido de vuelta a la fuente. Al siguiente conjunto de paquetes se les da un valor TTL de dos, por lo que el primer enrutador reenvía los paquetes, pero el segundo enrutador los descarta y responde con Tiempo excedido. Procediendo de esta manera, traceroute utiliza los mensajes ICMP Time Exceeded recibidos para construir una lista de enrutadores que los paquetes atraviesan, hasta que se alcanza el destino y devuelve un mensaje ICMP Destination Unreachable si se utilizan paquetes UDP o un mensaje ICMP Echo Reply si se utilizan mensajes ICMP Echo. [ 11 ]

Los valores de marca de tiempo que se devuelven para cada enrutador a lo largo de la ruta son los valores de retardo ( latencia ), que normalmente se miden en milisegundos para cada paquete.

El remitente espera una respuesta en un plazo de segundos configurado. Si no se recibe confirmación de recepción de un paquete dentro del intervalo previsto, se muestra un asterisco.

El protocolo de Internet no exige que los paquetes sigan la misma ruta hacia un destino específico; por lo tanto, los hosts listados podrían ser aquellos por los que otros paquetes ya han pasado. Si el host en el salto n.° n no responde, dicho salto se omite en la salida.

Si una red tiene un cortafuegos y utiliza sistemas Windows y sistemas tipo Unix, se debe habilitar más de un protocolo entrante a través del cortafuegos para que traceroute funcione y reciba respuestas.

Algunas implementaciones de traceroute utilizan paquetes TCP, como tcptraceroute y traceroute de capa cuatro (lft). PathPing es una utilidad introducida con Windows NT que combina las funciones de ping y traceroute. MTR es una versión mejorada de ICMP traceroute disponible para sistemas tipo Unix y Windows. Todas las implementaciones de traceroute se basan en el envío de paquetes ICMP de tiempo excedido (tipo 11) al origen.

La implementación de traceroute de Cisco también utiliza una secuencia de datagramas UDP , cada uno con valores TTL incrementales , hacia un número de puerto no válido en el host remoto; por defecto, se utiliza el puerto UDP 33434. Una versión extendida de este comando (conocida como comando traceroute extendido ) puede cambiar el número de puerto de destino utilizado por los mensajes de sondeo UDP. [ 13 ]

Uso

Las direcciones de los enrutadores se pueden superponer a mapas de sus ubicaciones físicas. Este ejemplo muestra una solicitud desde Nueva Zelanda a una dirección IP en Massachusetts que sigue una ruta que pasa por Europa.

La mayoría de las implementaciones incluyen opciones para especificar el número de consultas que se enviarán por salto, el tiempo de espera para una respuesta, el límite de saltos y el puerto que se utilizará. Al ejecutar traceroute sin opciones, se muestra la lista de opciones disponibles.

Para Linux, el comando man traceroute ofrece más detalles, incluyendo los indicadores de error que se muestran.

$ traceroute -n -w 3 -q 1 -m 16 example.com traceroute a example.com (10.99.99.99), 16 saltos máximo, paquetes de 52 bytes 1 192.168.7.7 5.152 ms 2 192.168.7.254 12.767 ms 3 172.16.32.64 11.638 ms 4 172.16.64.128 13.193 ms 5 172.16.128.254 20.624 ms 6 10.20.30.1 56.205 ms 7 10.20.30.254 24.573 ms 8 * 9 * 10 10.99.99.1 22,810 ms 11 10,99,99,99 20,235 ms

Los argumentos seleccionados para el comando traceroute son:

  • -n deshabilitar la resolución de nombres
  • -w esperar tres segundos en lugar de los cinco predeterminados
  • -q envía solo una consulta a cada salto en lugar de las tres predeterminadas.
  • -m limita el número máximo de saltos a 16 antes de desistir en lugar del valor predeterminado de 30.

— con example.com como host final. En las líneas 8 y 9 (TTL 8 y 9) se muestran asteriscos donde el enrutador no respondió dentro del tiempo de espera.

Valor

Traceroute puede ayudar a identificar definiciones incorrectas de tablas de enrutamiento o cortafuegos que puedan estar bloqueando el tráfico ICMP, o UDP de puerto alto en el protocolo ping de Unix, hacia un sitio. Una respuesta correcta de traceroute no garantiza la conectividad para las aplicaciones, ya que un cortafuegos puede permitir paquetes ICMP pero no paquetes de otros protocolos.

Los pentesters utilizan Traceroute para recopilar información sobre la infraestructura de red y los rangos de direcciones IP alrededor de un host determinado.

Traceroute se puede utilizar para optimizar la descarga de datos. Si hay varios servidores espejo disponibles para el mismo recurso, se puede rastrear cada uno de ellos para encontrar el más rápido.

Orígenes

La página del manual de traceroute indica que el programa traceroute original fue escrito por Van Jacobson en 1987 a partir de una sugerencia de Steve Deering , y que Guy Almes y Matt Mathis también tuvieron la idea al mismo tiempo que Deering. [ 14 ] El autor del programa ping , Mike Muuss , afirma en su sitio web que traceroute fue escrito utilizando el soporte ICMP del kernel que había programado previamente para habilitar sockets ICMP sin procesar cuando escribió el programa ping por primera vez. [ 15 ]

Limitaciones

Traceroute tiene múltiples limitaciones. [ 16 ] Traceroute no descubre rutas a nivel de enrutador, sino a nivel de interfaz. Otra limitación aparece cuando los enrutadores no responden a las sondas o cuando tienen un límite para las respuestas ICMP. [ 17 ] En presencia de balanceo de carga de tráfico , traceroute puede indicar una ruta que en realidad no existe; para minimizar este problema existe una modificación de traceroute llamada Paris-traceroute, [ 18 ] que mantiene el identificador de flujo de las sondas para evitar el balanceo de carga.

Véase también

Referencias

  1. "Traceroute6(8) - Página man de Linux" .
  2. "Tracert6(8): Herramienta de rastreo de ruta IPv6 - Página man de Linux" .
  3. "tracepath(8) – Página man de Linux" . linux.die.net . Consultado el 21 de junio de 2015 .
  4. https://www.linuxnetwork.net/blog/iputils-set-of-small-useful-utilities-for-linux-networking/
  5. Rossingol, Joe (23 de junio de 2020). "Utilidad de red descontinuada en macOS Big Sur" . MacRumors .
  6. Manual del programador de Linux – Administración y comandos privilegiados de Manned.orgtraceroute(8)  
  7. Manual del administrador del sistema FreeBSDtraceroute(8)  
  8. Manual del administrador del sistema NetBSDtraceroute(8)  
  9. Manual del administrador del sistema OpenBSDtraceroute(8)  
  10. Manual de comandos de mantenimiento y operación del sistema DragonFly BSDtraceroute(8)  
  11. 1 2 3 Comer, Douglas (2004). Redes informáticas e Internet con aplicaciones de Internet . Pearson Education, Inc. págs. 360–362 . ISBN  978-0131433519.
  12. "Tracert" . Microsoft Docs . 3 de febrero de 2023. Consultado el 29 de julio de 2023 .
  13. "Comprensión de los comandos Ping y Traceroute" . Cisco IOS Software Releases 12.1 Mainline . cisco.com. 29/11/2006 . Consultado el 08/12/2013 .
  14. "código fuente traceroute6.c" . 4 de octubre de 2022. Consultado el 17 de septiembre de 2023 .
  15. "La historia del programa PING" .
  16. Ray Belleville (3 de marzo de 2017). "Limitaciones de Traceroute explicadas" .
  17. Marchetta, P.; Montieri, A.; Persico, V.; Pescapé, A.; Cunha, Í; Katz-Bassett, E. (junio de 2016). Cómo y cuánto dificulta traceroute nuestra comprensión de las rutas de red . Simposio Internacional IEEE de 2016 sobre Redes de Área Local y Metropolitana (LANMAN). págs. 1–7 . doi : 10.1109/lanman.2016.7548847 . ISBN  978-1-4673-9882-4. S2CID 4643833 . 
  18. "Paris Traceroute" . paris-traceroute.net . Consultado el 10 de junio de 2017 .

Lecturas adicionales

  • Frisch, Æleen (2001). Windows 2000 Commands Pocket Reference . O'Reilly . ISBN 978-0-596-00148-3.
  • Stanek, William R. (2008). Windows Command-Line Administrator's Pocket Consultant, 2.ª edición . Microsoft Press . ISBN 978-0735622623.
  • Barrett, Daniel J. (2012). Guía de bolsillo de la terminal de Macintosh: Toma el control de tu Mac . O'Reilly . ISBN 978-1449328986.
  • RFC 1393 : Traceroute usando una opción IP RFC de Internet 
  • Cómo funciona traceroute – InetDaemon
  • Tracert Referencia de la línea de comandos de Windows XP