traceroute no funciona, la salida es * * * pero la red está bien

15

en mi caja de Linux, traceroute no funciona. la salida es así:

$ traceroute google.com

traceroute to google.com (209.85.231.104), 30 hops max, 52 byte packets
1  * * *
2  * * *
3  * * *
4  * * *

¿Alguien puede decirme por qué no funciona? alguna posible razón detrás de esto?


fuente

Respuestas:

10

Por defecto, traceroute utiliza puertos UDP altos para rastrear hosts. Sin embargo, a veces los firewalls bloquean estos puertos UDP.

Intente agregar el parámetro "-I" (mayúscula i) a la línea de comando, por ejemplo:

traceroute -I www.google.it

Esto usará ICMP en lugar de UDP para rastrear hosts.

shodanshok
fuente
2

Intente usar -T (tcp) o -U (udp) para evitar el firewall.
Algunos enrutadores / firewall no dejan pasar el eco icmp, es por eso que usaría esos 2 para evitarlos.
De todos modos, al contrario de lo que se dice en wikipedia, en mi debian boxes traceroute todavía usa paquetes icmp y no udp.

EDITAR

Me equivoqué ... usa udp ... los icmp que regresan son para un puerto inalcanzable ... lo siento

PiL
fuente
1
para macOS sería -P TCP o -P UDP y -P ICMP sería lo mismo que -I en la respuesta de shodanshok.
MrG
1

podría ser que un cortafuegos aguas arriba bloquee los paquetes UDP Traceroute

En los sistemas operativos modernos tipo Unix, la utilidad traceroute utiliza de forma predeterminada datagramas UDP con puertos de destino que numeran desde 33434 hasta 33534.

lalalalalalala
fuente
$ es más probable unix prompt en lugar de Windows one y el comando Windows traceroute es tracert. Y la pregunta habla sobre Linux ...
radio
Me di cuenta de esto, así que edité la respuesta.
lalalalalalala
Pensé que la ruta de rastreo usaba paquetes ICMP. No sabía que los sistemas basados ​​en Unix usan UDP. Aprenda algo nuevo cada día.
dbasnett
1

Esto se debe probablemente a que la respuesta icmp TIME_EXCEEDED es filtrada por el enrutador / firewall que usa como puerta de enlace predeterminada o por su propio sistema Linux

radio
fuente