la commande traceroute nécessite une option et d'être root pour fonctionner Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
tony
Membre
Membre
Messages : 184
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

bonjour ,

j'apprends à utiliser basiquement la commande traceroute . J'ai observé , avec ou sans pare-feu Netfilter/nftables :
  • qu'elle nécessite les privilèges de root
  • que sans les options -I ou -T elle ne marche pas , ce qui , d'après les exemples que j'ai trouvés sur le net ne me paraît pas normal

Code : Tout sélectionner

~# traceroute google.com
traceroute to google.com (216.58.213.78), 30 hops max, 60 byte packets
 1  livebox.home (192.168.1.1)  3.026 ms  2.961 ms  3.570 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  *^C

~# traceroute -I google.com
traceroute to google.com (216.58.213.78), 30 hops max, 60 byte packets
 1  livebox.home (192.168.1.1)  1.915 ms  1.870 ms  1.840 ms
 2  80.10.233.133 (80.10.233.133)  27.744 ms  29.374 ms  30.191 ms
 3  lag-114.nearl052.rbci.orange.net (193.253.84.233)  32.362 ms  34.044 ms  35.251 ms
 .......
 6  ae40-0.nilyo101.rbci.orange.net (193.252.101.173)  62.395 ms  58.025 ms  58.585 ms
 7  * * *
 8  google-32.gw.opentransit.net (193.251.255.70)  46.606 ms  44.557 ms  45.053 ms
  .............
15  142.250.224.197 (142.250.224.197)  51.488 ms  49.294 ms  49.590 ms
16  par21s18-in-f14.1e100.net (216.58.213.78)  50.988 ms  48.198 ms  49.234 ms
j'aimerais savoir si à votre avis ce comportement dénote un problème dans mon installation : configuration de ? ou bien ....?

ps 1 : un forumer a résolu un problème similaire en installant le paquet inetutils-traceroute , ça n'a rien changé chez moi ( en fait ça fonctionne si je désinstalle traceroute] si j'utilise deux commandes différentes que @diesel m'a fournies plus bas)

ps 2 : je viens de tester cette commande sur un ssd autonome sur lequel Debian 12 (mise à niveau de D11) est installé : même constat , sans une option -I ou -T ça ne marche pas . Un bogue peut-être?
Debian 11 / Xfce
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 165
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

La commande traceroute fonctionne parfaitement (depuis le temps qu'elle existe, ça se saurait).

Code : Tout sélectionner

jean-marie@jean-marie:~$ traceroute google.com
traceroute to google.com (216.58.214.78), 64 hops max
  1   *  *  * 
  2   192.168.1.254  6,787ms  3,680ms  1,529ms 
  3   194.149.174.106  20,322ms  17,279ms  24,476ms 
  4   194.149.174.100  16,108ms  *  * 
  5   *  62.115.46.68  26,331ms  27,176ms 
  6   62.115.174.29  21,487ms  20,099ms  16,750ms 
  7   *  *  * 
  8   216.239.48.138  18,482ms  17,711ms  17,897ms 
  9   192.178.104.28  62,481ms  16,497ms  17,452ms 
 10   216.58.214.78  17,473ms  16,971ms  18,213ms 
jean-marie@jean-marie:~$
Il faut juste être un peu patient.

Et pas besoin de sudo ou de la lancer sous root.

Amicalement.

Jean-Marie
tony
Membre
Membre
Messages : 184
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

diesel a écrit : 05 avr. 2024, 21:04 .........
Et pas besoin de sudo ou de la lancer sous root.
............
donc j'ai tout faux et qq chose cloche dans mon installation .

merci pour la réponse .

ps1 : je viens de contourner le problème en désinstallant traceroute et en utilisant inetutils-traceroute avec l'option -M icmp , mais ça n'est guère satisfaisant .

ps2 : en fait cette version de traceroute fonctionne très bien avec l'option -I sans passer en root . Les mystères de l'informatique .
Debian 11 / Xfce
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 165
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

Ben..., pour faire un traceroute vers un site, il faut que ce site soit accessible. S'il y a un problème réseau qui empêche ta machine d'y accéder, traceroute n'y pourra rien. C'est juste un utilitaire qui utilise la commande pîng pour obtenir une liste des routeurs traversés pour arriver jusqu'au site visé.

Amicalement.

Jean-Marie
tony
Membre
Membre
Messages : 184
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

diesel a écrit : 06 avr. 2024, 08:26 Ben..., pour faire un traceroute vers un site, il faut que ce site soit accessible. S'il y a un problème réseau qui empêche ta machine d'y accéder, traceroute n'y pourra rien. C'est juste un utilitaire qui utilise la commande pîng pour obtenir une liste des routeurs traversés pour arriver jusqu'au site visé.

Amicalement.

Jean-Marie
par contre aucun problème avec la commande ping , donc je suppose que les ping de traceroute ne doivent pas utiliser le même genre de traçage car sinon pourquoi aurais-je un problème ?

Au vu des questions posées sur différents forums j'en déduis que mon cas n'est pas unique. Les solutions adoptées ne sont d'ailleurs pas toutes les mêmes , mais une semble se dégager : adopter le traçage de type ICMP ECHO = option -I . C'est celle qui marche sur mon système en tout cas . Mais ça ne résoud pas vraiment mon problème initial car j'ai vu que cette option là encore est , avec le traceroute standard soit disponible pour un simple utilisateur soit ne l'est pas et il faut passer en root ; c'est mon cas avec la commande traceroute standard. Pas avec l'autre version de traceroute que je vais donc garder .
Debian 11 / Xfce
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 165
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

il n'y a pas deux versions de traceroute ; une standard et une... "exotique". Traceroute est fourni par le paquet inetutils-traceroute, point-barre.

Celui-ci installe l'exécutable : /usr/bin/inetutils-traceroute et un lien /usr/bin/traceroute qui pointe sur un autre lien /etc/alternatives/traceroute qui, enfin, pointe vers /usr/bin/inetutils-traceroute.

Pour lancer la commande "traceroute", tu peux, indifféremment taper traceroute google.com ou inetutils-traceroute google.com ou /usr/bin/traceroute google.com ou /usr/bin/inetutils-traceroute google.com ou même /etc/alternatives/traceroute google.com. Dans tous les cas, tu exécuteras le fichier /usr/bin/inetutils-traceroute.

Après, le "bon" fonctionnement de la commande traceroute est dépendant de ta configuration réseau. Pour te donner un exemple, si, sur ton réseau, tu interdis le trafic icmp, traceroute ne donnera aucun résultat mais ce n'est pas de sa faute.

Amicalement.

Jean-Marie
tony
Membre
Membre
Messages : 184
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

diesel a écrit : 06 avr. 2024, 11:01 il n'y a pas deux versions de traceroute ; une standard et une... "exotique". Traceroute est fourni par le paquet inetutils-traceroute, point-barre.
par contre les permissions ne sont pas les mêmes et c'est ce qui doit expliquer la différence de comportement vis-à-vis de l'option -I :

Code : Tout sélectionner

~$ which traceroute
/usr/bin/traceroute
~$ ls -l /usr/bin/traceroute
lrwxrwxrwx 1 root root 28 Jul 15  2023 /usr/bin/traceroute -> /etc/alternatives/traceroute

~$ which inetutils-traceroute
/usr/bin/inetutils-traceroute
~$ ls -l /usr/bin/inetutils-traceroute 
-rwsr-xr-x 1 root root 60184 Aug 23  2023 /usr/bin/inetutils-traceroute

~$  ls -l /usr/bin/traceroute.db ---> cible finale du lien /usr/bin/traceroute
-rwxr-xr-x 1 root root 72864 29 déc.   2022 /usr/bin/traceroute.db
on voit que la commande inetutils-traceroute possède une élévation de droits = droits spéciaux ce qui lui permet de faire des opérations en tant que root . Ça n'est pas encore très clair pour moi , mais je sens que c'est la bonne direction .

ps1 : je pense avoir compris = cette élévation de droit n'est pas pour le propriétaire , root n'en a que faire , mais s'applique à l'utilisateur enregistré lors de l'installation . En tout cas ça a l'air de correspondre .
Je vais donc ajouter ce droit à la commande traceroute et voir ce qu'il se passe .

ps2 : ça fonctionne et je n'ai donc plus besoin du paquet inetutils-traceroute

Code : Tout sélectionner

~$ ls -l /usr/bin/traceroute.db 
-rwsrwxrwx 1 root root 72864 29 déc.   2022 /usr/bin/traceroute.db

je vais donc passer à Résolu même si je ne sais toujours pas pourquoi je suis obligé d'utiliser l'option -I alors que tu peux t'en passer . Ça doit être moins simple à justifier ; en tout cas je ne sais pas du tout de quel côté regarder , le pare-feu n'étant pas en cause .

ps3 : tout ceci justifie ce que j'avais lu à propos de la nécessité de posséder les droits de root pour certaines utilisations de cette commande .
Debian 11 / Xfce
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 165
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

C'est quoi ce /usr/bin/traceroute.db ?

Je ne sais pas ce que tu as foutu mais à première vue, ça ne m'étonne pas trop que tu aies des problèmes.

Est-ce que tu peux donner le retour de "ls -l /usr/bin | grep traceroute" ?

[EDIT] après une petite recherche sur internet, traceroute.db serait : "traceroute from Dimitry Butskoy", donc pas le traceroute "officiel". M'étonne pas que tu aies des soucis. Tu l'as pêché où ? [/EDIT]

Amicalement.

Jean-Marie
tony
Membre
Membre
Messages : 184
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

diesel a écrit : 06 avr. 2024, 18:14
[EDIT] après une petite recherche sur internet, traceroute.db serait : "traceroute from Dimitry Butskoy", donc pas le traceroute "officiel". M'étonne pas que tu aies des soucis. Tu l'as pêché où ? [/EDIT]
ce que j'ai fait ? J'ai tout simplement imité ce que j'ai vu sur les droits accordés au lanceur du programme inetutils-traceroute qui fonctionnait mieux que le programme traceroute . Si je comprends bien ce qui est ci-dessous :

Code : Tout sélectionner

~$ ls -l /usr/bin/traceroute
lrwxrwxrwx 1 root root 28  6 avril 15:28 /usr/bin/traceroute -> /etc/alternatives/traceroute

~$ ls -l /etc/alternatives/traceroute
lrwxrwxrwx 1 root root 22  6 avril 15:28 /etc/alternatives/traceroute -> /usr/bin/traceroute.db
ce que je prenais pour le lanceur de traceroute n'est en fait qu'un lien qui renvoie sur un 2ème lien alternatives/traceroute qui renvoie sur le lanceur lui-même traceroute.db . D'ailleurs

Code : Tout sélectionner

~$ traceroute.db -I google.com
traceroute to google.com (216.58.213.78), 30 hops max, 60 byte packets
 1  livebox.home (192.168.1.1)  4.660 ms  4.622 ms  5.074 ms
 2  80.10.233.133 (80.10.233.133)  29.128 ms  31.692 ms  33.322 ms
 3  lag-114.nearl052.rbci.orange.net (193.253.84.233)  35.746 ms  37.078 ms  38.076 ms
 4  ae115-0.nccle102.rbci.orange.net (193.253.84.146)  42.664 ms  50.163 ms  50.149 ms
 5  ae44-0.nilyo102.rbci.orange.net (193.252.101.101)  57.550 ms  59.341 ms  60.964 ms
 6  ae40-0.nilyo101.rbci.orange.net (193.252.101.173)  62.759 ms  56.641 ms  57.313 ms
 7  * * *
 8  google-32.gw.opentransit.net (193.251.255.70)  45.317 ms  46.912 ms  54.210 ms
 9  * * *
10  192.178.105.80 (192.178.105.80)  55.501 ms * *
11  192.178.85.181 (192.178.85.181)  73.887 ms  74.985 ms  74.955 ms
12  64.233.175.243 (64.233.175.243)  72.502 ms  52.387 ms  57.036 ms
13  209.85.248.116 (209.85.248.116)  50.382 ms  51.206 ms  52.088 ms
14  108.170.255.169 (108.170.255.169)  52.677 ms  52.988 ms  54.369 ms
15  142.250.224.199 (142.250.224.199)  50.963 ms  51.246 ms  51.601 ms
16  lhr25s01-in-f78.1e100.net (216.58.213.78)  50.604 ms  50.863 ms  50.767 ms
personnellement tout ça me semble logique . Je précise que tout provient de l'installation du paquet traceroute des dépôts Debian puisque la commande apt install va chercher les paquets dans les dépôts officiels ,[ le bullseye/main de mon sources.list. ] .Enfin , il me semble du moins .

Autres indices qui pointent dans le même sens :
  • lorsque j'ai ajouté le droit spécial "s" au 1er lien il a été immédiatement reporté sur le lanceur tracerout.db
.
Note 1: Je ne suis pas sûr qu'un lien puisse avoir des droits mais à défaut de savoir comment les appeler je reste avec ce terme .
  • Debian and Ubuntu have a mechanism called "update-alternatives" which is supposed to pick the best program version out of the ones which are installed, and automatically symlink it to the common /usr/bin/traceroute name
qui pointe bien vers ce lanceur ; du moins chez moi . En tout cas ça fonctionne toujours à condition que j'utilise l'option -I . Il me resterait à comprendre "pourquoi l'option -I est-elle indispensable" ? Mais là je sèche .

Note 2
: je me demande pourquoi Debian a donné un droit spécial au seul lanceur de inetutils-traceroute . Je ne suis pas très sûr sur l'aspect sécuritaire lorsque pour traceroute je copie les droits vus dans inetutils-traceroute .

Et pour terminer :

~$ ls -l /usr/bin | grep traceroute
lrwxrwxrwx 1 root root 28 6 avril 15:28 traceroute -> /etc/alternatives/traceroute
lrwxrwxrwx 1 root root 29 6 avril 15:28 traceroute6 -> /etc/alternatives/traceroute6
lrwxrwxrwx 1 root root 13 29 déc. 2022 traceroute6.db -> traceroute.db
-rwsrwxrwx 1 root root 72864 29 déc. 2022 traceroute.db
-rwxr-xr-x 1 root root 1618 29 déc. 2022 traceroute-nanog
Debian 11 / Xfce
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 165
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

Et que donne : "dpkg -l | grep traceroute" ?

Amicalement.

Jean-Marie
tony
Membre
Membre
Messages : 184
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

diesel a écrit : 06 avr. 2024, 19:03 Et que donne : "dpkg -l | grep traceroute" ?

Amicalement.

Jean-Marie

Code : Tout sélectionner

~$ dpkg -l | grep traceroute
ii  traceroute                                     1:2.1.0-2+deb11u1                amd64        Traces the route taken by packets over an IPv4/IPv6 network
Debian 11 / Xfce
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 165
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

Je te suggère les commandes suivantes :

Code : Tout sélectionner

sudo apt purge traceroute
sudo apt purge inetutils-traceroute
sudo apt install inetutils-traceroute
puis : "traceroute google.com".

Amicalement.

Jean-Marie
tony
Membre
Membre
Messages : 184
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

malheureusement ça ne change rien et je suis toujours obligé d'utiliser l'option -I si je veux utiliser cette commande . Par contre je vais garder le paquet inetutils-traceroute car il m'évite :
  • de passer par root pour l'utiliser
  • de modifier les permissions d'origine , ce qui , pour moi du moins , constitue toujours une inconnue sur la portée réelle de ces modifications
D'ailleurs à propos de modification et d'imitation : je m'aperçois que je m'y suis mal pris . Ce n'est pas le lien qu'il faut tenter de modifier mais le lanceur lui-même et lui donner les mêmes permissions dans traceroute et dans inetutils-traceroute , soit 4755 , afin qu'ils se comportent de la même façon . De toute façon comme je reste avec inetutils-traceroute ça n'a plus cours .

En tout cas même si j'ai fait une erreur dans ma façon de procéder j'ai appris pas mal de choses intéressantes , y compris de mon erreur .
Debian 11 / Xfce
tony
Membre
Membre
Messages : 184
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

je suis un âne : j'ai bien pensé à désactiver Netfilter pour voir s'il avait une influence mais je n'ai pas regardé le pare-feu de ma Livebox . Du niveau "élevé" je l'ai passé à "moyen" et tout fonctionne normalement . pff.... Je vais le remettre sur "élevé" car maintenant que je connais la cause du dernier problème non résolu ça n'a plus d'importance , et pour le coup le sujet est vraiment résolu .
Debian 11 / Xfce
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 165
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

C'est ce que je te disais dans mon post du 6 avril matin. Pour que ça fonctionne, il faut que le site soit accessible via le réseau.

Pour le coup, ça veut dire que le pare-feu de ta box filtre le trafic udp (utilisé par défaut par traceroute) en sortie (et pas le trafic icmp), ce qui fait que traceroute -I (qui force les requètes en icmp au lieu de udp) fonctionne.

Je trouve ce fonctionnement de pare-feu très étrange. C'est pourquoi, chez moi, je n'utilise pas du tout le pare-feu intégré à ma box et que j'ai, derrière, un pare-feu que j'ai programmé moi-même qui tourne sur un raspberry-pi.

Et, effectivement, comme on a tout compris sur ce sujet, tu peux fermer.

Amicalement.

Jean-Marie
tony
Membre
Membre
Messages : 184
Inscription : 10 juil. 2023, 00:54
Status : Hors-ligne

diesel a écrit : 07 avr. 2024, 09:01 C'est ce que je te disais dans mon post du 6 avril matin. Pour que ça fonctionne, il faut que le site soit accessible via le réseau.
ben ouais , mais je regardais ailleurs et ça n'a pas percuté . Alors que j'avais une forte présomption d'un problème avec la Livebox devant les yeux je n'ai rien vu tellement j'étais loin de la soupçonner : jamais je n'ai eu un seul blocage que j'aurais pu lui impliquer , du moins à ma connaissance . Alors bloquer des paquets inoffensifs ...... ça ne me venait pas du tout à l'esprit . Et pourtant le fait que le signal de test n'arrive pas à l'étape n°2 aurait dû faire tilt . Je suppose que ce doit être le BA BA de l'apprenti dépanneur qui utilise cet outil . Mais bon , c'est comme ça , et l'expérience a été très intéressante .

Merci pour le coup de main .
Debian 11 / Xfce
Répondre