Trippy - أداة تشخيص الشبكة
trippy (الأداة: trip) هي أداة تشخيص شبكات من Rust تدمج traceroute و ping في واجهة TUI واحدة فعّالة. لكل قفزة، تعرض عدد الرزم المرسلة والمستقبلة ونسبة الفقد والكمون (الأخير والمتوسط والأفضل والأسوأ والانحراف المعياري)، بالإضافة إلى تحليل التذبذب والرسوم البيانية و GeoIP وحل DNS. تدعم اختبارات ICMP و UDP و TCP وتستطيع تتبع أهداف متعددة في نفس الوقت، مما يجعلها أسرع بكثير من الجمع بين traceroute + ping التقليديين عند الإجابة على السؤال: “أين تتعطل الشبكة؟“
التثبيت
| المنصة | الأمر |
|---|
| Cargo (جميع المنصات) | cargo install trippy |
| macOS (Homebrew) | brew install trippy |
| Arch Linux | sudo pacman -S trippy |
| Debian/Ubuntu | sudo apt install trippy |
| Fedora | sudo dnf install trippy |
| Nix | nix-env -iA nixpkgs.trippy |
| Windows (Scoop) | scoop install trippy |
الصلاحيات
تحتاج ICMP والمقابس الخام (raw sockets) إلى حقوق مرتفعة:
sudo trip example.com
# أو منح الإمكانية مرة واحدة (Linux)، ثم التشغيل بدون sudo:
sudo setcap cap_net_raw+ep $(which trip)
الاستخدام الأساسي
| الأمر | الوصف |
|---|
trip example.com | تتبع واختبار مضيف (ICMP، واجهة TUI مباشرة) |
trip example.com google.com | تتبع أهداف متعددة في نفس الوقت |
trip 1.1.1.1 | تتبع عنوان IP مباشرة |
trip --help | قائمة الخيارات الكاملة |
trip --version | الإصدار |
خيارات البروتوكول والاختبار
| الخيار | الوصف |
|---|
-i, --interface eth0 | استخدم واجهة مصدر محددة |
--icmp | اختبارات ICMP (الافتراضي) |
--udp | اختبارات UDP |
--tcp | اختبارات TCP (جيدة عبر جدران الحماية) |
-p, --target-port 443 | منفذ الهدف (UDP/TCP) |
--first-ttl N | ابدأ من TTL معين |
--max-ttl N | أقصى عدد من القفزات |
-4 / -6 | فرض IPv4 / IPv6 |
التوقيت والمعدل
| الخيار | الوصف |
|---|
--min-round-duration 100ms | الوقت الأدنى لكل جولة |
--max-round-duration 1s | الوقت الأقصى لكل جولة |
--initial-sequence N | رقم التسلسل الأولي |
--read-timeout 1s | انتظار قراءة لكل اختبار |
--grace-duration 100ms | انتظر الردود المتأخرة |
DNS و GeoIP
| الخيار | الوصف |
|---|
-r, --dns-resolve-method system | المحلل: system، resolv، google، cloudflare |
-z, --dns-lookup-as-info | عرض رقم النظام المستقل (AS) لكل قفزة |
--dns-resolve-all | حل جميع عناوين IP لمضيف |
--geoip-mmdb-file GeoLite2-City.mmdb | إضافة GeoIP للمدينة/الدولة لكل قفزة |
المفاتيح التفاعلية
| المفتاح | الإجراء |
|---|
↑ / ↓ | اختر قفزة |
Tab | التبديل بين الأهداف |
z | تبديل مخطط القفزة |
h | تبديل المساعدة |
q | خروج |
Esc | إغلاق لوحة |
التقارير (غير التفاعلي)
يمكن لـ trippy إصدار تقارير لمرة واحدة للنصوص والتذاكر.
| الأمر | الوصف |
|---|
trip example.com -m report | اطبع تقرير جدول والخروج |
trip example.com -m json | مخرجات JSON |
trip example.com -m csv | مخرجات CSV |
trip example.com -m stream | دفق نصي مستمر |
trip example.com -m flows | إظهار تدفقات التوجيه المميزة (ECMP) |
سير العمل الشائع
# أين الكمون؟ تتبع مع معلومات AS وحد أقصى 30 قفزة
sudo trip example.com -z --max-ttl 30
# التشخيص من خلال جدار حماية يسقط ICMP
sudo trip example.com --tcp -p 443
# قارن بين اتصالين في نفس الوقت
sudo trip 1.1.1.1 8.8.8.8
# التقط تقرير لإرفاقه بتذكرة دعم
sudo trip example.com -m json > trace-report.json
Trippy مقابل الأدوات الكلاسيكية
| الأداة | دمج ping+traceroute | متعدد الأهداف | TUI | البروتوكولات |
|---|
| trippy | نعم | نعم | غنية | ICMP/UDP/TCP |
| mtr | نعم | لا | أساسية | ICMP/UDP |
| traceroute | لا | لا | لا | ICMP/UDP/TCP |
| ping | لا | لا | لا | ICMP |
الموارد