¿Cómo obtener traceroute en cygwin?

14

La implementación de traceroute (tracert) difiere en Windows y Unix. Quería comparar ambos con Wireshark. Ahora estoy en Windows 7 y quería obtener la implementación de Unix Traceroute rápidamente.

Mi primera idea fue obtenerlo usando MSYS o Cygwin. Instalé Cygwin con los paquetes "inetutils *" marcados, pero no hay un comando traceroute y el ejecutable correspondiente /usr/bin/.

También intenté buscar "traceroute" con la búsqueda de paquetes de Cygwin y encontré esta subcadena en la lista de archivos "zsh". Instalé zsh e intenté traceroutey tcptraceroutesin resultados.

¿Qué paquete debo verificar para la instalación de traceroute? ¿Hay algún traceroute para Cygwin?

Kirill
fuente

Respuestas:

14

No hay ninguno tracerouteen los paquetes de Cygwin, porque tracertsiempre está disponible en Windows. Consulte https://cygwin.com/ml/cygwin/2005-12/msg00443.html para ver un hilo que discute brevemente esto. Puede intentar compilar un estilo Unix traceroutedesde el origen usando Cygwin.

Sin embargo, si desea comparar el estilo Windows con el estilo tracertUnix traceroute, le recomiendo que se ejecute tracerouteen Unix o Linux, porque las pilas de red son diferentes; por lo tanto, ejecutar un estilo Unix tracerouteen Windows no le dará los mismos rastros de red que el estilo tracerouteUnix en Unix.

Stephen Kitt
fuente
3
pingTambién existe en Windows, pero está disponible para Cygwin :) De todos modos, gracias por su respuesta. Quizás intente compilar tracerouteCygwin manualmente.
Kirill
44
Punto justo, y tracerouteofrece bastantes características más que tracert.
Stephen Kitt
4

Ok, como dijo Stephen Kitt, no hay listas para usar binarios de traceroute para Cygwin. Es por eso que intenté compilarlo yo mismo.

Puedo ver que hay un traceroute moderno, pero a partir de su descripción siguiente, no se puede usar con los antiguos núcleos de Linux y para mí la compilación se atascó en la falta de "dccp.h" y me di por vencido.

Pude compilar la implementación anterior , pero funciona como si no se pudieran ver las respuestas ICMP en TTL excedidas (hay asteriscos en lugar de resultados):

1 * * *

2 * * *

Tal vez requiera algunas correcciones para funcionar en Cygwin y esa es la razón por la cual no hay un paquete de traceroute para Cygwin.

Verifiqué con Wireshark y veo que usa paquetes de prueba UDP y las respuestas ICMP correspondientes se entregan correctamente. Quiero notar que este viejo traceroute funciona lentamente como Win tracert(nodos de "consulta" uno por uno). Traceroute moderno da resultados muy rápidamente.

Kirill
fuente
2

Pude construir un puerto mtren Cygwin32 usando instrucciones:

https://github.com/traviscross/mtr/

MTR es una herramienta alternativa de traceroute de código abierto. Tiene una interfaz gráfica de usuario y una interfaz de texto Ncurses. No es exactamente el clásico traceroute, pero me gusta más.

LatinSuD
fuente