Traceroute عبارة عن أداة مساعدة بسيطة للشبكات يمكنها تتبع المسار الذي تسلكه حزمة الإنترنت من المصدر إلى المضيف الوجهة. ستوضح لك هذه المقالة كيف يمكنك استخدام Traceroute للتحقق من صحة شبكة Linux لديك وتشخيص المشكلات الناشئة.
ملحوظة: في حين أن هذه المقالة تسلط الضوء على نظام التتبع في Linux، يمكنك أيضًا استخدام هذه الأداة المساعدة في نظامي التشغيل macOS وWindows.
كيف يعمل تراسيروت؟
يعمل Traceroute عن طريق إرسال حزم UDP بأطوال TTL قصيرة إلى كل بوابة إنترنت على طول المسار إلى مضيف بعيد. تقوم أطوال TTL القصيرة هذه بعد ذلك بإجبار هذه البوابات على الإبلاغ عن استجابة ICMP “TIME_EXCEEDED” بالإضافة إلى عنوان IP الخاص بالواجهة الخاصة بها.
يتم الجمع بين هذين العاملين للسماح لـ Traceroute بإنشاء قائمة مفصلة بالأجهزة التي ستمر بها الحزمة الخاصة بك أثناء اتصالها بخادم خارجي. على سبيل المثال، سيؤدي تشغيل مسار التتبع إلى “google.com” في شبكتي إلى إدراج ما بين 9 إلى 10 بوابات قبل أن يصل إلى خوادم Google.
ما هي مشكلات الشبكة التي يمكن لـ Traceroute إصلاحها؟
Traceroute هي مجرد أداة لفحص الشبكة ولا تعمل على تحسين أو إصلاح أي مشكلة معلقة في شبكتك. يمكن لـ Traceroute أن يصف فقط كيفية تصرف الشبكات والحزم التي تنتقل عليها.
وعلى الرغم من ذلك، فهي لا تزال أداة مهمة لتشخيص مشاكل الشبكة المحتملة. أحد الأمثلة الجيدة هو عندما تفشل البوابة المحلية في إعادة توجيه الحزمة إلى قفزتها التالية. يمكن لـ Traceroute معالجة هذه المشكلة عن طريق تمييز أي جهاز توجيه داخل شبكتك الأساسية لا يرسل استجابة “TIME_EXCEEDED”.
وبصرف النظر عن ذلك، يمكنك أيضًا استخدام Traceroute للتحقق من مشكلات زمن الاستجابة بين المضيفين. يمكن أن يكون هذا مفيدًا إذا كنت تريد معرفة ما إذا كانت شبكتك المحلية تحتاج إلى VPN لضمان زمن استجابة منخفض ثابت عند الاتصال بجهاز بعيد.
جيد ان تعلم: تعرف على المزيد حول فحص الشبكة باستخدام nmap بدون Sudo في Linux.
استخدام Traceroute في لينكس
افتح محطة جديدة واكتب traceroute
متبوعًا بعنوان الجهاز الذي تريد أن يتصل جهازك به. يمكن أن يكون هذا إما اسم مجال أو عنوان IP. على سبيل المثال:
traceroute ubuntu.myvpsserver.top
يضعط يدخل لبدء تعيين المسار نحو مضيفك البعيد.
نصيحة: تعرف على كيفية التحقق من بوابة الإنترنت المحلية الخاصة بك عن طريق العثور على عنوان IP الخاص بجهاز التوجيه الخاص بك.
إرسال الحزم باستخدام TTL مخصص في Traceroute
على الرغم من أن استخدام Traceroute بحد ذاته يكفي للاستخدام الأساسي، يمكنك أيضًا تعديل كيفية عمل البرنامج باستخدام العلامات. يمكن أن يكون هذا مفيدًا خاصةً إذا كنت تقوم بفرز شبكتك.
أحد التعديلات الأكثر شيوعًا في برنامج تتبع المسار هو تغيير كمية الحزم التي يرسلها إلى البوابة. للقيام بذلك، استخدم -q
علامة متبوعة بكمية الحزم التي تريد إرسالها لكل طلب:
traceroute -q 1 ubuntu.myvpsserver.top
يمكنك أيضًا استخدام -N
علامة متبوعة بالرقم “1” لتعطيل طلبات الحزم المتزامنة بشكل صريح. يعد هذا مفيدًا إذا كان لديك بوابات تحدد معدل حزم UDP ذات TTL القصيرة.
وأخيرًا، يمكنك أيضًا تعديل قيمة TTL الافتراضية لـ Traceroute. للقيام بذلك، قم بإضافة -f
علامة متبوعة بـ TTL التي تريدها لحزمة الفحص الأولى الخاصة بك.
تغيير بروتوكول Traceroute في Linux
بشكل افتراضي، يستخدم نظام التتبع في Linux UDP لإرسال حزم الاختبار إلى بوابات الشبكة. يمكن أن يكون هذا مشكلة إذا كنت تبحث عن بوابة تقوم بحظر حزم التتبع بشكل فعال.
لإصلاح ذلك، يمكنك استخدام -T
إشارة لتشغيل Traceroute باستخدام حزم TCP SYN البسيطة.
من ناحية أخرى، يمكنك أيضًا فرض Traceroute لاستخدام حزمة ICMP ECHO إذا كانت بوابة الوجهة تقيد UDP فقط:
sudo traceroute -I myvpsserver.top
تعديل الواجهة والمنفذ في Traceroute
يدعم Traceroute أيضًا واجهات الشبكة المخصصة. هذا هو المكان الذي سيستخدم فيه برنامج Traceroute بطاقة شبكة مختلفة في جهازك لاستكشاف مسار الحزمة.
للقيام بذلك، قم بتشغيل البرنامج باستخدام -i
علامة متبوعة باسم الجهاز الخاص بواجهتك.
traceroute -i enp1s0 myvpsserver.top
ملحوظة: يمكنك العثور على واجهات الشبكة المتوفرة لجهازك عن طريق التشغيل ifconfig -s | awk '{print $1}'
.
وبصرف النظر عن ذلك، يمكنك استخدام -p
إشارة لتحديد رقم منفذ البداية الذي سيستخدمه برنامج التتبع لفحص UDP:
traceroute -p 34543 myvpsserver.top
وأخيرا، -p
تقوم العلامة أيضًا بتغيير سلوكها وفقًا للبروتوكول الذي تستخدمه. الاقتران بها -I
سوف يحدد -p
القيمة كرقم تسلسل ICMP الأولي بدلاً من منفذ الوجهة.
إن تعلم كيفية استخدام Traceroute هو مجرد خطوة أولى في فهم كيفية تواصل أجهزة الكمبيوتر مع بعضها البعض عبر الشبكة. تعرف على المزيد حول شبكات الكمبيوتر من خلال تحليل محتويات حزمة TCP باستخدام tcpdump.
وفي الوقت نفسه، يمكنك أيضًا معرفة المزيد حول طبقات OSI الأعلى، مثل DNS، باستخدام أداة الحفر في Linux.
جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.
اشترك في نشرتنا الإخبارية!
يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك
اكتشاف المزيد من إشراق العالم
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.