J'ai récemment lu un article sur HowToGeek qui m'a fait me gratter un peu la tête. Cependant, j'ai assez peu d'expérience avec Linux, alors pardonnez-moi s'il s'agit d'une entrée de gamme:
"La commande tracepath est similaire à traceroute, mais elle ne nécessite pas de privilèges root."
Comment traceroute et tracepath remplissent-ils une fonction similaire, différemment?
Que fait traceroute, qui requiert des privilèges root, que tracepath n’a pas?
Existe-t-il des scénarios dans lesquels on devrait préférer tracepath à traceroute, ou inversement?
Les deux programmes font essentiellement une chose: envoyer et recevoir certains paquets IP.
Pour ce faire, vous pouvez utiliser l’API de sockets normale ou manipuler les paquets bruts à partir de l’interface. L'API de sockets ne nécessite pas de privilèges root, car elle est relativement sécurisée. Il existe des mécanismes intégrés 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 packages bruts pour certaines de ses fonctionnalités.
Il manipule des paquets bruts.
Pour manipuler des paquets bruts, vous avez besoin des privilèges root car vous éviterez ainsi les mécanismes de sécurité de l'API de socket. Vous avez accès aux communications de tous les autres processus et utilisateurs utilisant cette interface. Il suffit de penser à ce qu’un virus pourrait faire s’il pouvait manipuler des paquets bruts.
Une commande avancée disponible dans Traceroute est la possibilité d'exécuter une trace réseau à l'aide du protocole IPv4 ou IPv6. Il est également possible de choisir entre les formats de données ICMP, TCP ou UDP pour une sonde. Traceroute peut choisir des routages source spécifiques pour la sonde et choisir le port à envoyer. Il peut définir des limites sur les valeurs minimale et maximale TTL à accepter à partir d'une analyse sortante. En outre, Traceroute peut afficher le temps d'attente pour les pings de réponse, ainsi que définir le nombre de paquets envoyés dans chaque sonde et le nombre de sondes à envoyer. Certaines de ces commandes peuvent ne pas être prises en charge par le matériel réseau le long du chemin, ce qui pourrait mettre fin à la sonde avant qu'elle n'atteigne sa destination cible.
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.
Passons maintenant aux 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 UDP des paquets ne nécessitant pas de privilèges de superutilisateur
Ici, nous utilisons ICMP des paquets d'écho nécessitant des privilèges.
Par ICMP paquets vous pouvez lancer une attaque DDOS.
Pour en savoir plus sur les options ICMP Page de manuel Traceroute
Pour afficher les options traceroute
, saisissez terminal man traceroute
ICMP a besoin des privilèges de super utilisateur pour garantir que seuls les administrateurs peuvent utiliser certaines de ses options, car il peut être utilisé pour effectuer un ping of death et collecter des informations sur un réseau spécifique. Ce privilège permet au super utilisateur de modifier les options à l'aide d'ICMP. paquets.
Que vous puissiez le voir, lorsque vous essayez d’envoyer une requête ping à des sites Web tels que www.Microsoft.com
, votre commande ping échouera même si elle est en ligne, et ce parce que les routeurs Microsoft bloquent ICMP_requests.
Donc, Linux protège le système des utilisateurs non privilégiés, ils ne peuvent donc pas utiliser ces commandes pour attaquer.
je pense que vous devez lire ceci http://www.ehow.com/list_7526520_differences-between-traceroute-tracepath.html
À partir du lien ci-dessus:
TracePath
Tracepath trace un chemin d'accès à une adresse réseau désignée, en indiquant le "temps de vie" ou TTL lag et les unités de transmission maximales (MTU) le long du chemin. Cette commande peut être exécutée par tout autre utilisateur ayant accès à l'invite de ligne de commande.
Notions de base sur Traceroute
Traceroute est essentiellement identique à 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. De plus, traceroute nécessite un accès superutilisateur pour exécuter la commande sur une machine Linux. 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.
ping
et traceroute
utilisent le protocole ICMP. Comme UDP et TCP, il est accessible via l’API de socket normale. Seuls les numéros de port UDP et TCP inférieurs à 1024 sont protégés contre une utilisation autre que la racine. 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 un socket ICMP et traceroute modifie les incréments de TTL à l'aide de setsockopt jusqu'à ce que la cible soit atteinte.
Source: Lien