
En mi máquina 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?
Respuesta1
Por defecto,traceroute
utiliza puertos UDP altos para rastrear hosts. Sin embargo, a veces los firewalls bloquean estos puertos UDP.
Intente agregar el -I
parámetro (i mayúscula) a la línea de comando, por ejemplo:
traceroute -I www.google.it
Esto utilizará ICMP en lugar de UDP para rastrear hosts.
Respuesta2
Intente utilizar -T (tcp) o -U (udp) para evitar el firewall.
Algunos enrutadores/firewall no dejan pasar el eco icmp, es por eso que usarías esos 2 para evitarlos.
De todos modos, al contrario de lo que se indica en Wikipedia, en mis cajas Debian, traceroute todavía usa paquetes icmp y no udp.
EDITAR
Me equivoqué... usa udp... el icmp que regresa es para un puerto inalcanzable... lo siento
Respuesta3
Podría ser que un firewall ascendente esté bloqueando los paquetes UDP. ruta de seguimiento
En los sistemas operativos modernos tipo Unix, la utilidad traceroute utiliza de forma predeterminada datagramas UDP con puertos de destino numerados del 33434 al 33534.
Respuesta4
Probablemente esto se deba a que la respuesta icmp TIME_EXCEEDED es filtrada por el enrutador/firewall que utiliza como puerta de enlace predeterminada o por su propio sistema Linux.