Comment traceroute et tracepath remplissent-ils une fonction similaire, différemment?
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.
Que fait traceroute, qui requiert des privilèges root, que tracepath n’a pas?
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.
Existe-t-il des scénarios dans lesquels on devrait préférer tracepath à traceroute, ou inversement?
Une commande avancée disponible dans Traceroute est la possibilité d'exécuter une trace réseau en utilisant le 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 de durée de vie minimale et maximale à 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 atteigne sa destination cible.
sources:
1
2
3
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 celletracepath
qui utilise les paquets UDP pour le traçage.Passons maintenant aux privilèges de superutilisateur :
vous pouvez utiliser
traceroute
à la fois 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
Nous utilisons ici des paquets d'écho ICMP qui nécessitent des privilèges.
Par paquets ICMP, vous pouvez lancer une attaque DDOS.
Pour en savoir plus sur les options ICMP Page de manuel Traceroute
Pour afficher les
traceroute
options, tapez dans le terminalman 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’
www.microsoft.com
envoyer une requête ping à des sites Web similaires , votre commande ping échouera même si elle est en ligne, et ce, parce que les routeurs de 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.
la source
Je pense que vous devez lire ceci http://www.ehow.com/list_7526520_differences-between-traceroute-tracepath.html
À partir du lien ci-dessus:
la source
traceroute
pas avoir accès au lien), pourquoi demander un accès superutilisateur (d’autant plus qu’il semble qu’il en fait moins quetracepath
par défaut)? Et, mis à part les scénarios dans lesquels vous n'êtes pas un superutilisateur, pourquoi devriez-vous choisir l'un plutôt que l'autre?ping
ettraceroute
utilisez le protocole ICMP. Comme UDP et TCP, il est accessible via l’API de sockets 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 durée de vie à l'aide de setsockopt jusqu'à ce que la cible soit atteinte.
Source: lien
la source