مقدمة إلى التتبع
يعد أمر Linux Traceroute أداة مساعدة لاستكشاف أخطاء الشبكة وإصلاحها والتي تساعدنا في تحديد عدد القفزات والحزم التي تنتقل عبر المسار المطلوب للوصول إلى الوجهة. يتم استخدامه لعرض كيفية نقل البيانات من جهاز محلي إلى جهاز بعيد. يعد تحميل صفحة ويب أحد الأمثلة الشائعة على مسار التتبع. يؤدي تحميل صفحة الويب إلى نقل البيانات عبر الشبكة وأجهزة التوجيه. يمكن أن يعرض مسار التتبع المسارات وعناوين IP وأسماء المضيفين لأجهزة التوجيه عبر الشبكة. يمكن أن يكون مفيدًا لتشخيص مشكلات الشبكة.
في الحوسبة، يعد Tracert و Traceroute أمرين لتشخيص شبكة الكمبيوتر لعرض المسارات المحتملة وقياس تأخيرات نقل الحزمة عبر شبكة IP. يتم تسجيل سجل المسار كوقت ذهابًا وإيابًا للحزمة من جميع المضيفين المتعاقبين في المسار؛ متوسط الوقت الإجمالي في كل قفزة هو إجمالي الوقت المستغرق لإنشاء الاتصال.
يستمر أمر التتبع ما لم يتم فقدان كل حزمة مرسلة أكثر من مرتين؛ تم فقدان الاتصال، ولا يمكن تقييم المسار. من ناحية أخرى، يقيس الأمر ping فقط أوقات الرحلة الأخيرة ذهابًا وإيابًا عبر نقطة الوجهة. في بعض الأحيان، يكون للأداة اسم مشابه، Tracert6 وtraceroute6، لـ IPv6.
بناء الجملة:
traceroute [OPTION...] HOST
خيارات:
يتم دعم خيارات سطر الأوامر التالية بواسطة أمر Traceroute:
-f، --first-hop=NUM: يتم استخدامه لضبط مسافة القفزة الأولية.
المتغيرات العالمية شبيبة
-g, --gateways=GATES: يتم استخدامه لعرض قائمة البوابات لتوجيه المصدر غير المحكم.
-أنا، --icmp: تم تحديده لاستخدام ICMP ECHO كمسبار.
-م، --max-hop=NUM: يتم استخدامه لتعيين الحد الأقصى لعدد القفزات، الافتراضي هو 64.
-M، --type=الطريقة: وهو يحدد الطريقة (icmp أو udp) لعمليات التتبع، والطريقة الافتراضية هي udp.
-p، --port=PORT: تم تعريفه لاستخدام منفذ الوجهة، والمنفذ الافتراضي هو 33434.
-q، --tries=NUM: يتم استخدامه لإعادة توجيه NUM من حزم التحقيق لكل قفزة، والقيمة الافتراضية هي 3.
--حل أسماء المضيفين: يتم استخدامه لحل أسماء المضيفين.
-t، --tos=NUM: يتم استخدامه لتعيين نوع الخدمة (TOS) على NUM.
-w، --wait=NUM: يتم استخدامه للانتظار بالثواني للرد، الافتراضي هو 3.
النمل مقابل مخضرم
-؟، --يساعد: يتم استخدامه لعرض دليل المساعدة الذي يحتوي على وصف موجز لخيارات سطر الأوامر المدعومة واستخدامه.
--الاستخدام: يعرض رسالة استخدام قصيرة.
-V، --الإصدار: يتم استخدامه لعرض معلومات إصدار مسار التتبع.
دعونا نلقي نظرة على الفهرس السريع للموضوع:
- قم بتثبيت أمر التتبع
- كيف يعمل؟
- تتبع المسار باستخدام Ipv6
- تتبع المسار باستخدام Ipv4
- تعطيل عنوان IP وتعيين اسم المضيف
- قم بتعيين عدد الاستعلامات لكل قفزة
- ضبط وقت انتظار الاستجابة
- حدد الواجهة التي تريد استخدامها
- قم بتعيين قيمة TTL الأولية
- تعيين الحد الأقصى لعدد القفزات
- الحصول على مساعدة
تطبيقات التتبع
يتوفر أمر Traceroute في العديد من أنظمة التشغيل الحديثة. في الأنظمة المشابهة لـ Unix مثل Linux وmacOS وFreeBSD، يتوفر كأداة لسطر الأوامر. كما يمكن الوصول إلى برنامج Traceroute بيانيًا ضمن مجموعة Network Utilities في نظام التشغيل macOS؛ لقد تم إهمال هذه الأدوات المساعدة منذ نشر macOS Big Sur.
يقدم ReactOS وMicrosoft Windows برنامجًا يُسمى Tracert يقوم بتنفيذ وظيفة مشابهة لتتبع المسار. كما توفر أنظمة تشغيل Windows NT أيضًا PathPing، والذي يمكنه الجمع بين وظائف الأمر ping مع Tracert. تم دمج إصدار ReactOS بواسطة Get Murphy، وهو مرخص بموجب رخصة GPL.
افتراضيًا، يرسل تتبع المسار ترتيبًا لحزم UDP (بروتوكول مخطط بيانات المستخدم) على أنظمة تشغيل تشبه Unix، مع أرقام وجهة المنفذ تتراوح من 33434 إلى 33534. تطبيقات تتبع المسار التي يتم شحنها مع macOS، وDragonFly BSD، وOpenBSD، وNetBSD، وFreeBSD، وLinux خيار استخدام حزم طلب صدى ICMP مثل TCP وUDP باستخدام حزم ICMP أو TCP SYN. افتراضيًا، يقوم ترسرت بنقل حزم طلب صدى ICMP على نظام التشغيل Windows بدلاً من عمليات نقل تتبع حزمة UDP.
استخدام التتبع
تحتوي معظم التطبيقات على بعض الخيارات على الأقل لتحديد عدد الاستعلامات المطلوب نقلها لكل قفزة، ووقت انتظار الاستجابة، وحد القفزة، والمنفذ المستخدم. إذا لم نقم باستدعاء Traceroute مع الخيارات المحددة، فإنه يعرض قائمة الخيارات المتاحة، بينما يمثل الأمر man Traceroute المزيد من التفاصيل، مثل إشارات الخطأ.
أصول التتبع
تنص صفحة دليل التتبع على أن برنامج التتبع الفعلي تم تحديده بواسطة فان جاكوبسون في عام 1987 بناءً على توصية من ستيف ديرينج، مع إصلاحات وتوصيات مقنعة على وجه التحديد من سي. فيليب وود، وكين أدلمان، وتيم سيفر. صرح مايك موس، مؤلف برنامج ping، أنه تم تحديد مسار التتبع بدعم من kernel ICMP الذي قام بترميزه مسبقًا لتنشيط مآخذ توصيل ICMP الأولية بينما قام بتحديد برنامج ping في البداية.
حدود التتبع
القيود المفروضة على Traceroute سيئة السمعة ويجب أخذها في الاعتبار عند استخدام الأداة. على سبيل المثال، يتعرف نظام التتبع على المسارات على مستوى الواجهة ولكن ليس على مستوى المسار. تحدث قيود أخرى عندما لا تستجيب أجهزة التوجيه للفحص أو عندما تتضمن أجهزة التوجيه قيودًا على استجابات ICMP.
قد يمثل Traceroute مسارًا غير موجود في حالة وجود موازنة حمل حركة المرور. لتقليل هذه المشكلة، يتوفر تعديل متتبع يُعرف باسم Paris-traceroute، والذي يدير معرف تدفق الفحص لتجاهل موازنة التحميل.
قم بتثبيت أمر التتبع
لا يعد برنامج التتبع أداة مساعدة افتراضية لـ لينكس نظام. لاستخدام مسار التتبع، نحتاج إلى تثبيته يدويًا. لتثبيته، قم بتنفيذ أحد الأوامر التالية:
sudo apt install inetutils-traceroute sudo apt install traceroute
ستقوم الأوامر المذكورة أعلاه بتثبيت الأداة المساعدة Traceroute على نظامنا. بعد التثبيت الناجح، سيكون الإخراج كما يلي:
كيف يعمل؟
لتتبع مسار مضيف شبكة متصل، قم بتمرير اسم الخادم أو عنوان IP الذي تريد الاتصال به. على سبيل المثال، لتتبع مسار الخادم 'javatpoint.com'، قم بتنفيذ الأمر التالي:
traceroute javatpoint.com
سيعرض الأمر أعلاه القفزات والحزم والعديد من المعلومات الأخرى على المسار المحدد. النظر في الإخراج أدناه:
كيفية تحميل الموسيقى
من الناتج أعلاه، يمكننا أن نرى عدة أشياء. دعونا نفهم كل جزء من الإخراج:
- يعرض السطر الأول اسم المضيف وعنوان IP الذي سيتم الوصول إليه، والقفزات التي سيحاولها أمر التتبع، وحجم الحزم التي سيتم إرسالها.
- من السطر الثاني، يعرض كل سطر خطوة إلى الوجهة. واسم المضيف متبوعًا بعنوان IP الخاص بالمضيف، ووقت الرحلة ذهابًا وإيابًا. وقت رحلة الذهاب والإياب هو مجموع الوقت المستغرق لإرسال الإشارة والوقت المستغرق للرد على المضيف.
- بشكل افتراضي، يرسل ثلاث حزم لكل مضيف، لذلك يتم إدراج ثلاثة أوقات استجابة.
- يمثل الرمز '*' فقدان الحزمة. يحدث فقدان الحزمة بسبب انقطاع الشبكة، أو ارتفاع حركة المرور إلى ازدحام الشبكة، أو ربما يقوم جدار الحماية بإسقاط حركة المرور. في حالة فقدان الكثير من الحزمة، سيعرض مسار التتبع الخطأ على أنه 'لم يتم الوصول إلى الوجهة'.
تتبع المسار باستخدام IPv6
يتم استخدام الخيار '6' لتتبع المسار إلى شبكة مضيفة باستخدام بروتوكول Ipv6. خذ بعين الاعتبار الأمر أدناه:
traceroute6 google.com
سيتتبع الأمر أعلاه المسار إلى 'google.com' باستخدام بروتوكول Ipv6. النظر في الإخراج أدناه:
تتبع المسار باستخدام Ipv4
يتم استخدام الخيار '4' لتتبع المسار إلى شبكة مضيفة باستخدام بروتوكول Ipv6. خذ بعين الاعتبار الأمر أدناه:
traceroute 4 google.com
سيتتبع الأمر أعلاه المسار إلى 'google.com' باستخدام بروتوكول Ipv6. النظر في الإخراج أدناه:
تعطيل عنوان IP وتعيين اسم المضيف
يتم استخدام الخيار 'n' لتعطيل عنوان IP وتعيين اسم المضيف. خذ بعين الاعتبار الأمر أدناه:
traceroute n google.com
سينتج الأمر أعلاه الإخراج كما يلي:
قم بتعيين عدد الاستعلامات لكل قفزة
يتم استخدام الخيار '-q' لتعيين عدد الاستعلامات لكل قفزة. خذ بعين الاعتبار الأمر أدناه:
traceroute -q 2 google.com
سينتج الأمر أعلاه الإخراج كما يلي:
ج # القاموس
ضبط وقت انتظار الاستجابة
يتم استخدام الخيار '-w' لتعيين وقت انتظار الاستجابة في مسار التتبع. سيحدد وقت الانتظار بالثواني للرد على المسبار. خذ بعين الاعتبار الأمر أدناه:
traceroute -w 1 google.com
من الأمر أعلاه، وقت انتظار الاستجابة هو ثانية واحدة. وسوف تنتج الإخراج على النحو التالي:
حدد الواجهة التي تريد استخدامها
يتم استخدام الخيار 'i' لتعيين واجهة الشبكة التي يجب أن يستخدمها نظام التتبع. إذا لم يتم تعيينه، فسيتم تعيين الواجهة وفقًا لجدول التوجيه. خذ بعين الاعتبار الأمر أدناه:
traceroute i wlp3s0b1 google.com
سينتج الأمر أعلاه الإخراج كما يلي:
قم بتعيين قيمة TTL الأولية
يمكننا تعيين قيمة TTL (وقت البقاء) الأولية بخلاف القيمة الافتراضية. وسوف تخطي بعض القفزات. عادة، يتم تعيينه على واحد، اثنان، ثلاثة، وهكذا لمجموعة الاختبارات المعنية. لذا، إذا قمنا بتعيينها على سبعة، فإن الاختبار الأول سيحاول القفزة السابعة ويتخطى القفزات من واحد إلى ستة. خذ بعين الاعتبار الأمر أدناه:
traceroute -f 7 google.com
سينتقل الأمر أعلاه مباشرة إلى القفزة السابعة. النظر في الإخراج أدناه:
قم بتعيين الحد الأقصى لعدد القفزات
يتم استخدام الخيار '-m' لتعيين الحد الأقصى لعدد القفزات التي يمكن للحزمة الوصول إليها إلى الوجهة. القيمة الافتراضية للحد الأقصى لعدد القفزات هي 30. خذ بعين الاعتبار الأمر التالي:
traceroute -m 7 google.com
سيقوم الأمر أعلاه بتعيين 7 قفزات كحد أقصى للحزمة للوصول إلى الوجهة. النظر في الإخراج أدناه:
الحصول على مساعدة
لعرض دليل المساعدة الذي يحتوي على ملخص للاستخدام والخيارات المدعومة، قم بتنفيذ الأمر التالي:
ضرب المصفوفة في ج
traceroute --help
سيعرض الأمر أعلاه المساعدة. وسوف تنتج الإخراج على النحو التالي:
يمكننا أيضًا الوصول إلى صفحات الدليل عن طريق تنفيذ الأمر man كما يلي:
man traceroute
سيعرض الأمر أعلاه الصفحة اليدوية لأمر التتبع. سيبدو كما يلي:
مرر الصفحة لقراءة المزيد واضغط على المفتاح 'q' للخروج من الصفحة اليدوية.