Traceroute ne fonctionne pas sous Linux, sous Windows il fonctionne

8

Je suis un utilisateur de Linux Mint. J'ai exécuté traceroute sous Linux et tracert sous Windows. Sous Linux, je reçois juste des astérisques. Tout semble bien fonctionner sous Windows. Voici les sorties

Les fenêtres:

les fenêtres

Linux Mint:

Linux Mint

Pourquoi cela se produit-il et puis-je faire quelque chose pour résoudre ce problème?

Luigi
la source
Et vous pouvez accéder à Internet à partir du système Linux Mint? Ces systèmes d'exploitation fonctionnent-ils tous les deux sur le même PC? En tant que dual-boot ou en utilisant la virtualisation?
depquid
1
Vote contre pour la même raison que le commentaire @depquid. Cette question manque de nombreuses informations essentielles pour résoudre ce problème.
bagavadhar
2
Je ne pense pas qu'il méritait de downvotes pour cela. Il y avait suffisamment d'informations ici pour fournir une réponse.
jordanm
1
Je ne cherche pas de votes positifs, juste des réponses, donc je ne me défendrai pas :) Bien sûr, je peux accéder à Internet, cela me semble une question banale. Désolé de ne pas avoir écrit sur la machine: oui, c'est la même chose (avec dual-boot)
Luigi

Réponses:

14

Une raison probable de la différence est que, par défaut, Windows tracertutilise ICMP, tandis que Linux utilise par traceroutedéfaut UDP. L'utilisation de l' -Ioption pour traceroute devrait produire les mêmes résultats que tracert:

traceroute -w 10 -I google.it

De la traceroutedocumentation:

Dans l'environnement réseau moderne, les méthodes traditionnelles de traceroute ne sont pas toujours applicables, en raison de l'utilisation répandue des pare-feu. Ces pare-feu filtrent les ports UDP "improbables", voire les échos ICMP. Pour résoudre ce problème, certaines méthodes de traçage supplémentaires sont implémentées (y compris tcp), voir la LISTE DES MÉTHODES DISPONIBLES ci-dessous. De telles méthodes essaient d'utiliser un protocole et un port source / destination particuliers, afin de contourner les pare-feu (pour être vus par les pare-feu comme un début de type autorisé de session réseau).

LISTE DES MÉTHODES DISPONIBLES

En général, une méthode traceroute particulière peut devoir être choisie par -M nom, mais la plupart des méthodes ont leurs commutateurs cmdline simples (vous pouvez les voir après le nom de la méthode, le cas échéant).

défaut

La méthode traditionnelle et ancienne de traçage. Utilisé par défaut.

Les paquets de sonde sont des datagrammes udp avec des ports de destination dits "improbables". Le port "improbable" de la première sonde est 33434, puis pour chaque sonde suivante, il est incrémenté d'une unité. Étant donné que les ports sont censés être inutilisés, l'hôte de destination renvoie normalement «port non atteint icmp» comme réponse finale. (Cependant, personne ne sait ce qui se passe lorsqu'une application écoute de tels ports).

jordanm
la source
Cela ne fonctionne pas pour moi. Donne le même résultat.
Goose
0

Essaye ça:

traceroute -M icmp google.it
user372552
la source
3
Il serait préférable que vous puissiez modifier votre question et expliquer ce que cela fait, et pourquoi cela résoudrait le problème décrit.
roaima
ICMP n'est jamais le bon outil pour résoudre les problèmes de mise en réseau (et vous pourriez aussi bien l'utiliser ping, pas besoin traceroute -M). Si vous essayez d'évaluer la connectivité HTTP (qui, je suppose, en fonction du nom utilisé dans la question), vous devez effectuer une requête HTTP qui utilise généralement TCP / 80 ou TCP / 443. Par conséquent, vous utilisez tpctraceroutepour cela.
Patrick Mevzek