Libtraceroute เป็นไลบรารี Traceroute ข้ามแพลตฟอร์มสำหรับ Rust ซึ่งช่วยให้สามารถแสดงเส้นทาง (เส้นทาง) ที่เป็นไปได้และวัดความล่าช้าในการขนส่งของแพ็กเก็ตผ่านเครือข่าย Internet Protocol (IP) Libtraceroute ใช้ pnet ซึ่งเป็นไลบรารีเครือข่ายระดับต่ำในการส่งและจับแพ็กเก็ตที่ดาต้าลิงก์เลเยอร์ ซึ่งช่วยให้สามารถทำงานได้โดยไม่จำเป็นต้องใช้สิทธิ์รูทบน MacOS และ Windows แต่ยังต้องใช้ sudo บน Linux
Libtraceroute ทำงานบนดาต้าลิงค์เลเยอร์ด้วยแพ็กเก็ตที่สร้างขึ้นเอง ซึ่งให้ตัวเลือกมากมายแก่ผู้ใช้ในการปรับแต่ง ไลบรารีอนุญาตให้กำหนดค่าพารามิเตอร์ต่อไปนี้:
หากต้องการใช้ libtraceroute ในโปรเจ็กต์ของคุณ ให้เพิ่มสิ่งต่อไปนี้ใน Cargo.toml ของคุณ:
[dependencies]
libtraceroute = "0.1.0"
บันทึก! หากคุณใช้ Windows ให้ทำตามคำแนะนำเหล่านี้เพื่อให้ pnet ทำงาน:
หน้าต่าง
- คุณต้องใช้เวอร์ชันของ Rust ซึ่งใช้ toolchain MSVC
- คุณต้องติดตั้ง WinPcap หรือ npcap (ทดสอบกับเวอร์ชัน WinPcap 4.1.3) (หากใช้ npcap ตรวจสอบให้แน่ใจว่าได้ติดตั้งด้วย "ติดตั้ง Npcap ในโหมดที่เข้ากันได้กับ WinPcap API")
- คุณต้องวาง
Packet.lib
จากแพ็ก WinPcap Developers ในไดเร็กทอรีชื่อlib
ในรูทของที่เก็บนี้ หรือคุณสามารถใช้ตำแหน่งใดก็ได้ที่แสดงอยู่ในตัวแปรสภาพแวดล้อม%LIB%
/$Env:LIB
สำหรับ toolchain 64 บิตจะอยู่ในWpdPack/Lib/x64/Packet.lib
สำหรับ toolchain 32 บิตจะอยู่ในWpdPack/Lib/Packet.lib
ที่มา: https://github.com/libpnet/libpnet/blob/master/README.md