Libtraceroute عبارة عن مكتبة تتبع عبر الأنظمة الأساسية لـ Rust، والتي تسمح بعرض المسارات (المسارات) المحتملة وقياس تأخيرات عبور الحزم عبر شبكة بروتوكول الإنترنت (IP). يستخدم Libtraceroute pnet، وهي مكتبة شبكات منخفضة المستوى، لإرسال الحزم والتقاطها في طبقة ارتباط البيانات، مما يسمح لها بالعمل دون الحاجة إلى امتيازات الجذر على نظامي التشغيل MacOS وWindows، ولكنها لا تزال تتطلب Sudo على Linux.
يعمل Libtraceroute في طبقة ارتباط البيانات مع حزم مصممة خصيصًا، مما يوفر للمستخدم الكثير من خيارات التخصيص. تسمح المكتبة بتكوين المعلمات التالية:
لاستخدام libtraceroute في مشروعك، أضف ما يلي إلى Cargo.toml الخاص بك:
[dependencies]
libtraceroute = "0.1.0"
ملحوظة! إذا كنت تستخدم نظام التشغيل Windows، فاتبع هذه الإرشادات لتشغيل pnet:
ويندوز
- يجب عليك استخدام إصدار Rust الذي يستخدم سلسلة أدوات MSVC
- يجب أن يكون لديك WinPcap أو npcap مثبتًا (تم اختباره باستخدام الإصدار WinPcap 4.1.3) (إذا كنت تستخدم npcap، فتأكد من التثبيت باستخدام "تثبيت Npcap في الوضع المتوافق مع WinPcap API")
- يجب عليك وضع
Packet.lib
من حزمة WinPcap Developers في دليل يسمىlib
، في جذر هذا المستودع. وبدلاً من ذلك، يمكنك استخدام أي من المواقع المدرجة في متغيرات البيئة%LIB%
/$Env:LIB
. بالنسبة لسلسلة الأدوات 64 بت، فهي موجودة فيWpdPack/Lib/x64/Packet.lib
، وبالنسبة لسلسلة الأدوات 32 بت، فهي موجودة فيWpdPack/Lib/Packet.lib
.
المصدر: https://github.com/libpnet/libpnet/blob/master/README.md