أخبار التقنية

كيفية تشخيص مشكلات الشبكة على نظام التشغيل Linux باستخدام Traceroute


Traceroute عبارة عن أداة مساعدة بسيطة للشبكات يمكنها تتبع المسار الذي تسلكه حزمة الإنترنت من المصدر إلى المضيف الوجهة. ستوضح لك هذه المقالة كيف يمكنك استخدام Traceroute للتحقق من صحة شبكة Linux لديك وتشخيص المشكلات الناشئة.

ملحوظة: في حين أن هذه المقالة تسلط الضوء على نظام التتبع في Linux، يمكنك أيضًا استخدام هذه الأداة المساعدة في نظامي التشغيل macOS وWindows.

كيف يعمل تراسيروت؟

يعمل Traceroute عن طريق إرسال حزم UDP بأطوال TTL قصيرة إلى كل بوابة إنترنت على طول المسار إلى مضيف بعيد. تقوم أطوال TTL القصيرة هذه بعد ذلك بإجبار هذه البوابات على الإبلاغ عن استجابة ICMP “TIME_EXCEEDED” بالإضافة إلى عنوان IP الخاص بالواجهة الخاصة بها.

يتم الجمع بين هذين العاملين للسماح لـ Traceroute بإنشاء قائمة مفصلة بالأجهزة التي ستمر بها الحزمة الخاصة بك أثناء اتصالها بخادم خارجي. على سبيل المثال، سيؤدي تشغيل مسار التتبع إلى “google.com” في شبكتي إلى إدراج ما بين 9 إلى 10 بوابات قبل أن يصل إلى خوادم Google.

محطة تعرض مسار التتبع الأساسي لموقع google.com.

ما هي مشكلات الشبكة التي يمكن لـ Traceroute إصلاحها؟

Traceroute هي مجرد أداة لفحص الشبكة ولا تعمل على تحسين أو إصلاح أي مشكلة معلقة في شبكتك. يمكن لـ Traceroute أن يصف فقط كيفية تصرف الشبكات والحزم التي تنتقل عليها.

وعلى الرغم من ذلك، فهي لا تزال أداة مهمة لتشخيص مشاكل الشبكة المحتملة. أحد الأمثلة الجيدة هو عندما تفشل البوابة المحلية في إعادة توجيه الحزمة إلى قفزتها التالية. يمكن لـ Traceroute معالجة هذه المشكلة عن طريق تمييز أي جهاز توجيه داخل شبكتك الأساسية لا يرسل استجابة “TIME_EXCEEDED”.

محطة تعرض مسار تتبع أساسي حيث تفشل البوابات باستمرار في الاستجابة للبرنامج.

وبصرف النظر عن ذلك، يمكنك أيضًا استخدام Traceroute للتحقق من مشكلات زمن الاستجابة بين المضيفين. يمكن أن يكون هذا مفيدًا إذا كنت تريد معرفة ما إذا كانت شبكتك المحلية تحتاج إلى VPN لضمان زمن استجابة منخفض ثابت عند الاتصال بجهاز بعيد.

جيد ان تعلم: تعرف على المزيد حول فحص الشبكة باستخدام nmap بدون Sudo في Linux.

استخدام Traceroute في لينكس

افتح محطة جديدة واكتب traceroute متبوعًا بعنوان الجهاز الذي تريد أن يتصل جهازك به. يمكن أن يكون هذا إما اسم مجال أو عنوان IP. على سبيل المثال:

traceroute ubuntu.myvpsserver.top

يضعط يدخل لبدء تعيين المسار نحو مضيفك البعيد.

محطة تعرض مسار تتبع أساسي لخادم VPS صغير.

نصيحة: تعرف على كيفية التحقق من بوابة الإنترنت المحلية الخاصة بك عن طريق العثور على عنوان 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 البسيطة.

محطة طرفية تعرض مسار التتبع حيث يستخدم البرنامج حزمة TCP SYN بدلاً من UDP.

من ناحية أخرى، يمكنك أيضًا فرض 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 الأولي بدلاً من منفذ الوجهة.

محطة تعرض مسار التتبع باستخدام ICMP ECHO مع رقم تسلسل ICMP مخصص.

إن تعلم كيفية استخدام Traceroute هو مجرد خطوة أولى في فهم كيفية تواصل أجهزة الكمبيوتر مع بعضها البعض عبر الشبكة. تعرف على المزيد حول شبكات الكمبيوتر من خلال تحليل محتويات حزمة TCP باستخدام tcpdump.

وفي الوقت نفسه، يمكنك أيضًا معرفة المزيد حول طبقات OSI الأعلى، مثل DNS، باستخدام أداة الحفر في Linux.

جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.

اشترك في نشرتنا الإخبارية!

يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك

رمسيس الأحمر

رمسيس كاتب في مجال التكنولوجيا عاش مع أجهزة الكمبيوتر طوال حياته. قارئ غزير الإنتاج وطالب في الأنثروبولوجيا، وهو شخصية غريبة الأطوار تكتب مقالات عن Linux وأي شيء لا شيء.


اكتشاف المزيد من إشراق العالم

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى