Wie üben Traceroute und Tracepath eine ähnliche Funktion auf unterschiedliche Weise aus?
Beide Programme machen im Wesentlichen eines: bestimmte IP-Pakete senden und empfangen.
Sie können dazu die normale Sockets-API verwenden oder die Rohpakete über die Schnittstelle bearbeiten. Die Sockets-API erfordert keine Root-Rechte, da sie ziemlich sicher ist. Es gibt integrierte Mechanismen, die verhindern, dass ein Programm auf IP-Pakete zugreift, die ein anderes Programm erstellt hat.
Tracepath verwendet die Sockets-API für alle Funktionen. Traceroute manipuliert Rohpakete für einige seiner Funktionen.
Was macht Traceroute, für das Root-Rechte erforderlich sind, für das Tracepath jedoch nicht?
Es manipuliert Rohpakete.
Um Rohpakete zu manipulieren, benötigen Sie Root-Rechte, da Sie auf diese Weise die Sicherheitsmechanismen der Sockets-API umgehen. Über diese Schnittstelle erhalten Sie Zugriff auf die Kommunikation aller anderen Prozesse und Benutzer. Stellen Sie sich vor, was ein Virus tun könnte, wenn er Rohpakete manipulieren könnte.
Gibt es Szenarien, in denen man Tracepath gegenüber Traceroute bevorzugen sollte oder umgekehrt?
Ein erweiterter Befehl, der in Traceroute verfügbar ist, ist die Fähigkeit, eine Netzwerkablaufverfolgung unter Verwendung des IPv4- oder IPv6-Protokolls auszuführen. Es ist auch möglich, zwischen den Datenformaten ICMP, TCP oder UDP für eine Sonde zu wählen. Traceroute kann bestimmte Quellroutings für den Test auswählen und auswählen, von welchem Port gesendet werden soll. Es kann Grenzwerte für die minimale und maximale TTL festlegen, die von einem ausgehenden Test akzeptiert werden sollen. Außerdem kann Traceroute die Wartezeit für Antwort-Pings anzeigen sowie festlegen, wie viele Pakete in jedem Test gesendet werden und wie viele Tests gesendet werden sollen. Einige dieser Befehle werden möglicherweise nicht von der Netzwerkhardware auf dem Pfad unterstützt, wodurch der Test möglicherweise beendet wird, bevor er sein Ziel erreicht.
Quellen:
1
2
3
Sie können
traceroute
für die erweiterte Netzwerkablaufverfolgung zwischen IPv4- und IPv6-Protokollen sowie zwischen ICMP-, TCP- oder UDP-Datenformaten für einen Test wählen.Hat
traceroute
also erweiterte Optionen alstracepath
die, die UDP-Pakete für die Ablaufverfolgung verwenden.Nun zu Superuser-Rechten :
Sie können diese Option
traceroute
sowohl mit einem normalen Benutzer als auch mit einem Superuser verwenden. Dies ist ein Beispiel:Hier verwenden wir UDP- Pakete, die keine Superuser-Berechtigungen benötigen
Hier verwenden wir ICMP- Echopakete, die Privilegien benötigen.
Mit ICMP- Paketen können Sie DDOS-Angriffe ausführen.
Informationen zu ICMP-Optionen finden Sie auf der Traceroute-Manpage
Um
traceroute
Optionen anzuzeigen , geben Sie das Terminal einman traceroute
ICMP benötigt Superuser-Berechtigungen, um sicherzustellen, dass nur Administratoren einige seiner Optionen nutzen können, da dies dazu verwendet werden kann, den Tod zu melden und Informationen über ein bestimmtes Netzwerk zu sammeln. Mit dieser Berechtigung kann der Superuser die Optionen mithilfe von ICMP ändern Pakete.
Dass Sie es sehen können, wenn Sie versuchen, Websites wie zu
www.microsoft.com
pingen, schlägt Ihr Ping sogar online fehl, und das, weil Microsoft-Router ICMP_requests blockieren.Daher schützt Linux das System vor nichtprivilegierten Benutzern, sodass sie diese Befehle nicht für Angriffe verwenden können.
quelle
Ich denke, Sie müssen diese http://www.ehow.com/list_7526520_differences-between-traceroute-tracepath.html lesen
Über den obigen Link:
quelle
traceroute
ein Superuser-Zugriff erforderlich (zumal es tatsächlich weniger alstracepath
standardmäßig zu tun scheint )? Und abgesehen von Szenarien, in denen Sie kein Superuser sind, warum sollten Sie sich für eines entscheiden?ping
undtraceroute
verwenden Sie das ICMP-Protokoll. Wie bei UDP und TCP ist dies über die normale Sockets-API möglich. Nur UDP- und TCP-Portnummern unter 1024 werden vor der Verwendung geschützt, außer durch root. ICMP steht allen Benutzern frei zur Verfügung.Wenn Sie wirklich sehen möchten, wie Ping und Traceroute funktionieren, können Sie ein Beispiel für eine C-Code-Implementierung von CodeProject herunterladen .
Kurz gesagt, sie öffnen einfach einen ICMP-Socket und traceroute ändert die Inkremente der TTL mithilfe von setsockopt, bis das Ziel erreicht ist.
Quelle: Link
quelle