هل تساءلت يومًا ماذا يحدث عندما تقوم بفتح أي موقع بواسطة متصفحك؟ في الحقيقة عندما يقوم أي شخص بمحاولة فتح موقع بواسطة المتصفح فهو يفتح على الفور، هذا ما يحدث في الظاهر. لكن هل تعلم ما يحدث في الخلفية؟ هل تعلم كيف يصل متصفحك للموقع حقًا؟ في الحقيقة، متصفحك يذهب في عدة مسارات ويختار المسار المناسب أكثر ويذهب من إليه.

التراسروت Traceroute هي أداة تُظهر المسار بين نظامين وتُدرج كل المسارات ما بين الطرف الأول حتى وجهته النهائية. ما هي فائدة هذه الأداة؟ الهدف الأساسي من هذه الأداة هو إصلاح المشاكل التي تواجه الشبكة، بمعنى أكثر تحديدًا تستخدم في تحديد مكان المشكلة. فهذا يساعدك في معرفة أين يكون الاتصال بطيئًا وما هو المسار الذي يتسبب في ذلك. عمومًا، هذه الأداة تستخدم البروتوكول ICMP كأداة Ping.

لقد ذكرنا الهدف الأساسي لهذه الأداة، لكن كيف يمكننا استخدامها أيضًا؟ فلنفترض أن أحد أفراد فريق شركة Isecur1ty وتم تعيينك للتحقيق في محاولة اختراق لموقع ما أو نظام ما، من المفترض أن النظام يقوم بتسجيل الأي بي IP والطابع الزمني لكل محاولة اتصال تحاول اللوصول للنظام. الآن ما سيفعله المحقق الجنائي هو أنه سيقوم باستخدام أداة Traceroute لتقفي أثر الأي بي الخاص بالهاكر الذي حاول الاتصال بالنظام، بالطبع سنعرف الأي بي من الطابع الزمني لمحاولة الاختراق وعن طريق تقفي أثر الهاكر بأداة Traceroute سيصل لمزود الخدمة الخاص بالهاكر. كل ما سيفعله المحقق الآن هو أنه سيتصل بمزود الخدمة الخاص بالهاكر ويخبره بالأي بي الخاص بالهاكر والطابع الزمني ليخبره مزود الخدمة بالبيانات الخاصة بهذا الهاكر، وبهذه الطريقة سيتمكن المحقق من الوصول للبيانات الخاصة بالهاكر والتي ستمكنه من القبض على الهاكر (هذا مثال بسيط فقط لكيفية استخدام الأداة).

لنفهم عمل الأداة بشكل أفضل يجب أن نتعمق أكثر في طبيعة عمل الأاة، كما ذكرنا فأداة Traceroute تكشف اللمسار الذي تتخذه الحزم المرسلة من نظام إلى آخر، وكم عدد المسارات التي تتخذها الحزم، بالإضافة إلى الوقت الذي تستغرقه الحزمة للانتقال من مسار إلى آخر، والمعلومات بشأن هذه المسارات، بما فيها أسمائها والموقع الجغرافي لهذه المسارات. أداة Traceroute تستخدم مبدأ Time To Live (TTL) لتحديد مكم عملية الاتصال للنظام وما إذا كان هذا النظام قابل للوصول أم لا.

TTL

أداة Traceroute ترسل مبدئيًا حزمة ضمن شرط وهو أن قيمة TTL هي 1. المسار الأول (First Route) يستلم الحزمة، ويقلل قيمة TTL بواحد، ويرفض الحزمة لأن الـTTL قيمتها أصبحت صفر. بعدها يعيد المسار الاول إرسال رسالة إلى المضيف الأصلي ليبلغه أن الحزمة قد تم التخلص منها (تم رفضها). بعدها يسجل الـTraceroute الأي بي والـDNS الخاص بهذا المسار، ويرسل حزمة أخرى بشرط هو أن قيمة TTL هي 2. هذه الحزمة تنجو من خلال المسار الأول وبعدها يتم رفضها من المسار التالي. هذا المسار الثاني يرسل أيضًا رسالة خطأ إلى المضيف الأصلي. الـTraceroute يستمر في تكرار الأمر حتى تصل الحزمة إلى الهدف (النظام المراد الوصول إليه) أو حتى يتم التأكد من أنه لا يمكن الوصول إلى النظام الثاني. في هذه العملية، الـ Traceroute يقوم بتسجيل الوقت الذي استغرقته انتقال كل حزمة من مسار حتى المسار الذي يليه. الصورة التالية تُظهِر مثال على الأمر traceroute، جدير بالذكر أن هذا الأمر يختلف إذا ما كنت تستخدمه في الويندوز أو اللينكس:

يمكنك استخدام أمر traceroute في اللينكس.

أما في الويندوز فسيكون عن طريق الأمر tracert.

الصورة التالية توضح استخدام أمر tracert في الويندوز:

في الصورة السابقة يمكننا أن نرى اللأي بي والاسم الخاص ببعض المسارات، بالإضافة إلى الوقت الذي استغرقته كل حزمة للوصول إلى المسار، وهناك مسارات أخرى لم يظهر اسمها، وهذا يختلف من مسارٍ إلى آخر.

وهذه صورة أخرى تبين استخدامنا لأمر traceroute في بيئة لينكس:

الـhop قبل الأخير أو المسار قبل الأخير هو عادة ما يكون edge device للمنظمة أو الموقع المستهدف. الـedge device هي نقطة الدخول للمنظمة أو الموقع، وهي عادةً ما تكون روتر أو فايروول. لكنك لا تستطيع دائمًا على تعتمد على هذه المعلومات لأن المنظمات التي لديها فكر حماية عادةً ما تقوم بتحديد عملية الـtraceroute  بداخل شبكاتهم.

الجدير بالذكر أن أداة traceroute تستخدم حزم من نوع UDP أو ICMP ECHO ولأن مديرو الشبكات والأنظمة يعرفون هذا الأمر فهم يستخدمون الفايروول لمنع وصول أي حزم من نوع UDP أو ICMP ECHO ولأن هذا يمنعنا من إكمال عملية الـ Traceroute فقد ووجدت أداة اسمها tcptraceroute يمكن استخدامها لتلافي هذه المشكلة.

أداة tcptraceroute

هي أداة تستخدم حزم الـ TCP لتنفيذ عملية traceroute، بواسطة إرسال حزم من نوع TCP SYN بدلاً من استخدام حزم من نوع UDP أو ICMP ECHO، أداة TCPTRACEROUTE تمكننا من تخطي مشكلة حظر الفايروول.

هذه الأداة موجودة في توزيعة باك تراك، ويمكنك الوصول إليها بطريقتين:

الطريقة الأولى:

من قائمة الباك تراك نتبع الآتي:

BackTrack> Information Gathering> Network Analysis> Route Analysis> tcptraceroute

الطريقة الثانية:

فتح نافذة التيرمنال Terminal وكتابة tcptraceroute.

طبعًا الطريقة الثانية هي الأفضل.

هذا ما سيظهر لنا بعد استدعائنا للأداة:

سنستخدم أمر:

tcptraceroute –h

لعرض ملف المساعدة الخاص بالأداة.

-n

بهذا الأمر نحن نطلب من الأداة ألا تقوم بعمل reverse dns لعنوان الأي بي الخاص بالمسارات.

وستكتفي بعرض الأيبيهات الخاصة بالمسارات فقط. وهذا الأمر يكون أسرع من الافتراضي لأن عملية reverse dns تستغرق وقتًا اطول.

-N

بهذا الأمر نطلب من الأداة أن تقوم بعمل reverse dns للأيبيهات الخاصة بالمسارات.

-f

لتحديد الـTTL الخاصة بالحزمة المرسلة للمسار الأول، وكما قلنا فالقيمة الافتراضية الخاصة بهذه الحزمة تكون 1، لتحديد القيمة سيكون الأمر هكذا:

tcptraceroute website.com –f3

يمكننا بالطبع تحديد القيمة التي نريدها.

-m

لتحديد القيمة الأقصى للـTTL الخاصة بالمسارات، بالطبع القيمة الافتراضية هي 30. لذلك نرى أن المسارات لا تزيد عن 30 وإن كانت تزيد عن 30 فلن تكتمل إلا بتحديد قيمة أكبر من 30 بهذا الأمر.

هناك أوامر أخرى، سأتركها لكم للتعرف عليها.

3D Traceroute

هي برامج ثلاثية الأبعاد تتيح للمستخدم رؤية ذات واجهة رسومية تشرح عملية الـ Traceroute أثناء تنفيذها. منها هي Neotrace أو McAfee Visual Trace!! ومنها أيضًا VisualRoute.

بهذا نكون انتهينا وإن شاء الله نلتقي في مقالات أخرى