Quelles sont les différences significatives entre tracepath et traceroute?

50

J'ai lu récemment un article sur HowToGeek qui me laisse un peu la tête. J'ai assez peu d’expérience avec Linux, alors pardonnez-moi si c’est l’entrée de gamme:

  

"La commande tracepath est similaire à traceroute, mais ne nécessite pas de privilèges root."

     

lien

Comment traceroute et tracepath effectuent-ils une fonction similaire, différemment?

Que fait traceroute, qui nécessite des privilèges root, que tracepath ne fait pas?

Existe-t-il des scénarios où l’on devrait préférer tracepath sur traceroute, ou vice versa?

    
posée Iszi 19.03.2012 - 15:23
la source

4 réponses

49

Comment traceroute et tracepath effectuent-ils une fonction similaire, différemment?

Les deux programmes ne font qu’une seule chose: envoyer et recevoir certains paquets IP.

Pour ce faire, vous pouvez utiliser l'API Sockets normale ou manipuler les paquets bruts à partir de l'interface. L'API sockets ne nécessite pas de privilèges root, car elle est relativement sécurisée. Il existe des mécanismes pour empêcher un programme d’accéder aux paquets IP créés par un autre programme.

Tracepath utilise l'API sockets pour toutes ses fonctionnalités. Traceroute manipule des paquets bruts pour certaines de ses fonctionnalités.

Que fait traceroute, qui nécessite des privilèges root, que tracepath ne fait pas?

Il manipule les paquets bruts.

Pour manipuler des paquets bruts, vous devez disposer des privilèges root car vous évitez ainsi les mécanismes de sécurité de l’API Sockets. Vous accédez aux communications de tous les autres processus et utilisateurs utilisant cette interface. Pensez simplement à ce qu'un virus pourrait faire s'il pouvait manipuler des paquets bruts.

Existe-t-il des scénarios où l’on devrait préférer tracepath sur traceroute, ou vice versa?

  

Une commande avancée disponible dans Traceroute est la possibilité d'exécuter un   trace réseau à l'aide du protocole IPv4 ou IPv6. Il est également possible de   Choisissez entre les formats de données ICMP, TCP ou UDP pour une sonde. Traceroute   peut choisir des routages sources spécifiques pour la sonde et choisir quel port   à envoyer de Il peut fixer des limites sur le TTL minimum et maximum à   accepter d'une sonde sortante. En outre, Traceroute peut afficher les   temps d'attente pour les pings de réponse ainsi que définir combien de paquets sont envoyés   dans chaque sonde et combien de sondes à envoyer. Certaines de ces commandes peuvent   ne pas être pris en charge par le matériel réseau le long du chemin, ce qui pourrait   terminer la sonde avant qu'elle n'atteigne sa destination cible.

sources: 1 2 3

    
réponse donnée Galgalesh 09.03.2014 - 13:11
la source
8

Vous pouvez utiliser traceroute pour le traçage réseau avancé, vous pouvez choisir entre les protocoles IPv4 et Ipv6, vous pouvez également choisir entre les formats de données ICMP, TCP ou UDP pour une sonde.

Donc, traceroute a plus d'options avancées que tracepath qui utilise des paquets UDP pour le traçage.

Maintenant, à propos des privilèges de superutilisateur :

vous pouvez utiliser traceroute avec un utilisateur normal et un superutilisateur qui dépend de l'option que vous souhaitez utiliser, voici un exemple:

Ici, nous utilisons des paquets UDP qui ne nécessitent pas de privilèges de superutilisateur

Ici, nous utilisons les paquets ICMP qui ont besoin de privilèges.

Par paquets ICMP , vous pouvez lancer une attaque DDOS.

Pour en savoir plus sur les options ICMP, Page Man Traceroute

Pour afficher les options traceroute tapez terminal man traceroute

ICMP a besoin de privilèges de super utilisateur, pour s’assurer que les administrateurs peuvent utiliser certaines de ses options, car il peut être utilisé pour envoyer des ping sur la mort et collecter des informations sur un réseau spécifique. options utilisant des paquets ICMP.

Que vous pouvez le voir, lorsque vous essayez de faire un ping pour que des sites Web comme www.microsoft.com , votre ping échoue même en ligne, et cela parce que les routeurs Microsoft bloquent les requêtes ICMP.

Donc, Linux protège le système contre les utilisateurs non privilégiés, donc ils ne peuvent pas utiliser ces commandes pour attaquer.

    
réponse donnée nux 04.03.2014 - 02:19
la source
4

Je pense que vous devez lire ceci lien

À partir du lien ci-dessus:

  

TracePath

     

Tracepath trace un chemin vers une adresse réseau désignée, signalant le "temps de vie" ou le décalage TTL et les unités de transmission maximale (MTU) le long du chemin. Cette commande peut être exécutée par tout utilisateur ayant accès à l’invite de la ligne de commande.

  

Les bases de Traceroute

     

Traceroute est essentiellement le même que Tracepath sauf que, par défaut, il ne donnera que la valeur TTL. Si vous souhaitez des données supplémentaires, vous devez demander ces variables sur la ligne de commande. En outre, traceroute requiert un accès superutilisateur pour exécuter la commande sur une machine Linux, et certaines requêtes de données avancées peuvent ne pas être prises en charge par tous les routeurs situés sur le chemin. Dans un environnement Windows, tout utilisateur ayant accès à la ligne de commande peut exécuter Traceroute.

    
réponse donnée Ten-Coin 19.03.2012 - 15:32
la source
1

ping et traceroute utilisent le protocole ICMP. Comme UDP et TCP, il est accessible via l'API Sockets normale. Seuls les numéros de port UDP et TCP inférieurs à 1024 sont protégés contre toute utilisation autre que root. ICMP est disponible gratuitement pour tous les utilisateurs.

Si vous voulez vraiment voir comment fonctionnent ping et traceroute, vous pouvez télécharger un exemple d'implémentation de code C à partir de CodeProject .

En bref, ils ouvrent simplement une socket ICMP et traceroute modifie les incréments de la durée de vie en utilisant setsockopt jusqu'à ce que la cible soit atteinte.

Source: Lien

    
réponse donnée Ahmadgeo 07.03.2014 - 16:15
la source

Lire d'autres questions sur les étiquettes