Traceroute no funciona en Linux, en Windows sí.

8

Soy un usuario de Linux Mint. Ejecuté traceroute en Linux y tracert en Windows. En Linux, solo obtengo asteriscos. Todo parece funcionar bien en Windows. Aquí están las salidas

Ventanas:

Ventanas

Linux Mint:

Linux Mint

¿Por qué sucede esto? ¿Hay algo que pueda hacer para resolver este problema?

Luigi
fuente
¿Y puede acceder a Internet desde el sistema Linux Mint? ¿Estos sistemas operativos se ejecutan en la misma PC? ¿Como arranque dual o usando virtualización?
depquid
1
Votación negativa por el mismo motivo que el comentario de @depquid. Esta pregunta carece de mucha información crítica para resolver esto.
bagavadhar
2
No creo que mereciera ningún voto negativo por esto. Había suficiente información aquí para proporcionar una respuesta.
jordanm
1
No busco votos a favor, solo respuestas, así que no me defenderé :) Por supuesto que puedo acceder a Internet, me parece una pregunta trivial. Perdón por no escribir sobre la máquina: sí, es lo mismo (con arranque dual)
Luigi

Respuestas:

14

Una razón probable de la diferencia es que, por defecto, Windows tracertusa ICMP, mientras que Linux usa tracerouteUDP de manera predeterminada. El uso de la -Iopción para traceroute debería producir los mismos resultados que tracert:

traceroute -w 10 -I google.it

De la traceroutedocumentación:

En el entorno de red moderno, los métodos tradicionales de trazado de ruta no siempre pueden ser aplicables, debido al uso generalizado de firewalls. Tales firewalls filtran los puertos UDP "poco probables", o incluso los ecos ICMP. Para resolver esto, se implementan algunos métodos de rastreo adicionales (incluido tcp), consulte la LISTA DE MÉTODOS DISPONIBLES a continuación. Dichos métodos intentan utilizar un protocolo particular y un puerto de origen / destino, para evitar los firewalls (para que los firewalls vean como un inicio del tipo permitido de una sesión de red).

LISTA DE MÉTODOS DISPONIBLES

En general, un método de trazado de ruta particular puede tener que elegirse por -M nombre, pero la mayoría de los métodos tienen sus simples conmutadores cmdline (puede verlos después del nombre del método, si está presente).

defecto

El método tradicional y antiguo de trazado de ruta. Usado por defecto.

Los paquetes de sonda son datagramas de udp con los llamados puertos de destino "improbables". El puerto "improbable" de la primera sonda es 33434, luego para cada sonda siguiente se incrementa en uno. Como se espera que los puertos no se usen, el host de destino normalmente devuelve "puerto de alcance icmp" como respuesta final. (Sin embargo, nadie sabe qué sucede cuando alguna aplicación escucha dichos puertos).

jordanm
fuente
Esto no funciona para mi. Da el mismo resultado.
Goose
0

Prueba esto:

traceroute -M icmp google.it
usuario372552
fuente
3
Sería mucho mejor si pudiera editar su pregunta y explicar qué hace esto y por qué resolvería el problema descrito.
roaima
ICMP nunca es la buena herramienta para solucionar problemas de red (y también podría usarlos ping, no es necesario traceroute -M). Si intenta evaluar la conectividad HTTP (que supongo que se basa en el nombre utilizado en la pregunta), entonces debe hacer una consulta HTTP que normalmente es un TCP / 80 o TCP / 443. Por eso lo usas tpctraceroutepara eso.
Patrick Mevzek