traceroute o tracepath para Windows? (no tracert, afaik)

Lo que quiero hacer (en un cuadro de Windows) es tracerouteo tracepath usar TCP en un puerto específico.

AFAIK Windows tracertSÓLO usará ICMP. Pero, ¿es posible usar tracertde alguna manera que desconozco para lograr esto?

trazar ruta

En Linux, creo que las siguientes dos opciones lograrían lo que quiero:

traceroute mail.yourserver.com -p25 -T

La -p25opción le dice que use el puerto 25 como puerto de destino y -Tle dice que use paquetes TCP en lugar de ICMP.

rastrear

tracepath 192.168.1.99/443

Enviará un paquete destinado al puerto 443 al 192.168.1.99 y le informará en qué salto se atascó el paquete.

¿Para ventanas?

¿Alguien sabe de un puerto de traceroute, tracepatho alguna otra utilidad de Windows para lograr lo mismo? Si no hay una solución de Windows inherente, ¿hay una solución de terceros?

Cambié un poco la pregunta, porque existe la posibilidad de que haya alguna característica no documentada en Windows tracert... Además, si bien esta puede ser una pregunta sobre el software, no estoy seguro de que softwarerecs sea una mejor opción, ya que este es un aspecto muy específico sobre software que solo se relaciona con un área específica de redes. Es un desafío ahora que hay tantos sitios "apilados" para saber dónde publicar temas que podrían caer en muchas categorías; por ejemplo, el superusuario también podría ser un posible sitio de publicación.
@JensLink Lo probaré más tarde hoy, ¿podría convertirlo en una respuesta para que pueda marcarlo como correcto (si funciona como lo necesito).
FYI enlaces a otros sitios no son respuestas

Respuestas (2)

Finalmente encontré una solución para esto que funciona bien para mí:

TCP Traceroute on Windows And Linux
http://simulatedsimian.github.io/tracetcp.html
https://github.com/SimulatedSimian/tracetcp/releases

y para una reseña sobre cómo funciona:

https://support.logicboxes.com/helpdesk/index.php?/Knowledgebase/Article/View/11/37/using-tcp-traceroute-on-windows-and-linux

Y aquí hay una copia de uno de los ejemplos de uso simple/típico:

C:\tracetcp>tracetcp www.redhat.com:443 -h 3

Tracing route to 184.85.48.112 [a184-85-48-112.deploy.akamaitechnologies.com] on
port 443
Over a maximum of 30 hops.
3 32 ms 50 ms 56 ms 172.20.16.65
4 34 ms 14 ms 33 ms 172.26.16.1
5 503 ms 14 ms 68 ms 172.20.7.34
6 43 ms 170 ms 25 ms 203.117.35.9
7 28 ms 86 ms 26 ms 203.117.34.2
8 216 ms 168 ms 99 ms 203.117.34.14
9 * * * Request timed out.
10 Destination Reached in 211 ms. Connection established to 184.85.48.112
Trace Complete.

DEBE instalar la biblioteca winpcap para que esta versión funcione. tracetcp ha sido probado con la versión 3.* y 4.* de esta biblioteca. (Porque WinXP SP2 eliminó los sockets sin procesar). Pero si usted es un tipo de red, probablemente ya tenga instalado winpcap y wireshark de todos modos.

Creo que esto no funcionará porque los puertos TCP son L4, que no se usa para hacer el enrutamiento. Los enrutadores en el medio solo necesitan verificar hasta L3 para tomar una decisión sobre dónde enviar este paquete (a menos que estén usando PBR), pero si el paquete estaba destinado a ellos, lo más probable es que tengan una ACL cayendo. muchos paquetes destinados a ellos (22TCP, 23TCP, 80TCP, etc.) si no tienen la fuente correcta y confiable. Además, todos los puertos que no se utilizan probablemente estén protegidos por esta ACL.

Sé que tenemos ACL en las interfaces de entrada, pero creo que la mayoría de las empresas que realizan tránsito no sobrecargarían sus enrutadores con ACL porque podrían recibir paquetes de todas partes. Si está conectado a Internet a un ISP que no hace tránsito y su servidor está ubicado en el mismo ISP en la misma ubicación, entonces esta prueba podría tener sentido para usted.

tcptraceroute básicamente funciona de la misma manera que cualquier otra variante de traceroute. Ver en.wikipedia.org/wiki/Traceroute para más detalles.