Libtraceroute ist eine plattformübergreifende Traceroute-Bibliothek für Rust, die die Anzeige möglicher Routen (Pfade) und die Messung von Übertragungsverzögerungen von Paketen über ein Internet Protocol (IP)-Netzwerk ermöglicht. Libtraceroute verwendet pnet, eine Low-Level-Netzwerkbibliothek, um Pakete auf der Datenverbindungsschicht zu senden und zu erfassen, was den Betrieb ohne Root-Rechte unter MacOS und Windows ermöglicht, aber unter Linux immer noch sudo erfordert.
Libtraceroute arbeitet auf der Datenverbindungsebene mit benutzerdefinierten Paketen, was dem Benutzer viele Optionen für individuelle Anpassungen bietet. Die Bibliothek ermöglicht die Konfiguration der folgenden Parameter:
Um libtraceroute in Ihrem Projekt zu verwenden, fügen Sie Folgendes zu Ihrer Cargo.toml hinzu:
[dependencies]
libtraceroute = "0.1.0"
NOTIZ! Wenn Sie Windows verwenden, befolgen Sie diese Anweisungen, damit pnet funktioniert:
Windows
- Sie müssen eine Version von Rust verwenden, die die MSVC-Toolchain verwendet
- Sie müssen WinPcap oder npcap installiert haben (getestet mit Version WinPcap 4.1.3) (Wenn Sie npcap verwenden, stellen Sie sicher, dass Sie mit der Option „Npcap im WinPcap-API-kompatiblen Modus installieren“ installieren).
- Sie müssen
Packet.lib
aus dem WinPcap Developers Pack in einem Verzeichnis namenslib
im Stammverzeichnis dieses Repositorys ablegen. Alternativ können Sie einen der in den Umgebungsvariablen%LIB%
/$Env:LIB
aufgeführten Speicherorte verwenden. Für die 64-Bit-Toolchain befindet es sich inWpdPack/Lib/x64/Packet.lib
, für die 32-Bit-Toolchain inWpdPack/Lib/Packet.lib
.
Quelle: https://github.com/libpnet/libpnet/blob/master/README.md