تجسس على الاشخاص المتصلين معك في الشبكة : مقدمة على Wireshark و طبقات الـOSI - الجزء الاول
- By: Haider Khalid
- Dec 8, 2016
- 7 min read

أهلا وسهلا بكم من جديد ايها الهكرز الطموحين .
أليس من الرائع ان تجلس في بيت احدى اصدقائك و تتصل بالشبكة الخاصة به فقط و مشاهدة كل ما يفعل ؟ , و كيف اذا اخبرتك انها فقط بهذه السهولة ؟
ما يجعل متجسسات الحزم "Packet Sniffers" كـ وايرشارك "Wireshark" ادوات بهذه القوة هي ان غالبية الشبكات المحلية "LANs" تعتمد على فكرة او مفهوم المشاركة .
في الايذرنيت "Ethernet" المشترك , بأمكانك ان تفكر في الشبكة على انها مجموعة حواسيب او اجهزة متصلة جميعها على كابل او الوصلة نفسها , وكل البينات التي تنتقل من خلاله من الممكن ان يتم التقاطها , متجسسات الحزم رسميا يطلق عليهم محللات الشبكة "Network Analyzers" و محللات البروتوكولات "Protocol Analyzers" , لاكن ما هي البيانات الذي نتكلم عليه هنا ؟
كل شيء , البيانت الموثوقة و المشفرة لا يمكنك قراءته , لاكنها ستظل مرئية بالنسبة لك , وكل ما يرسل من النصوص العادية (غير المشفرة) يمكن امساكها بكل سهولة , هذا يتضمن كلمات المرور , تسجيلات الدخول , الرسائل الفورية , المحادثات , البريد الاكتروني (ايميلات) , والخ , كل شي يمكن امساكه و رؤيته .

فمثلا , لنفرض ان كارت الشبكة الخاص بك يلتقط حزمة من شبكة شخص اخر , بشكل طبيعي , بمجرد ان يتم تسليم الحزمة لك , نظام التشغيل خاصتك يجب ان يحدد ماهية هذه الحزمة مباشرتا , لتفعل ذلك , عليها ان تفتح رأس الايذرنيت للحزمة و تنظر الى الطبقة "Layer" التالية , ربما تكون حزمة ايبي IP , اذا , الـ OSI بدورها يجب ان تفتح رأس الايبي "IP Header" و تحدد اي نوع من انواع حزم الايبي هي , و اخيرا , فلنقل انها حددت الحزمة على انها حزمة UDP , سيتم فتح رأس الـ UDP و الحزم المحمولة ( البيانات ) سيتم تسليمها الى التطبيق التي ارسلت اليه .
و الان , كانت هذه شرحا بسيطا جدا لما يحدث في الواقع , لاكنني احاول ان اوضح نقطة , التقاط الحزم يسمح لنا اعتراض اي حزمة يتم رؤيتها من قبل اجهزة الشبكة , و الاستيلاء عليها بمجملها , بغض النظر الى اي منفذ "Port" يتم ارسالها , او حتى الى اي جهاز في الشبكة "Host" .
قبل ان نبدأ بالاستيلاء عن الاطارات او ما يسمى بالهياكل "Frames" و التسبب بفوضى و الظحك الصاخب , يجب اولا ان نوضح ماهي الحزمة و مفهوم الاطار او الهيكل "Frame" , أعتقد معرفة كيف يعمل شيء هو أفضل بكثير من مجرد تعلم أن تفعل ذلك , اذا لنبدأ بالغوص في الشبكات .
The Open Source Interconnection (OSI) Model
نموذج الـ (OSI) :
نموذج الـ OSI هو نموذج طبقي يصف كيفية انتقال المعلومات من تطبيق يعمل على شبكة محددة الى تطبيق يعمل على شبكة اخرى , فكر به بهذه الطريقة , نموذج الـ OSI يصف الخطوات الذي يجب ان تستعمل لنقل البيانات من جهاز بالشبكة الى اخر . سهلة اليست كذلك.
النموذج مقسمة الى سبعة طبقات , كما هو موضح تحت , اذا ما كنت جديا في تعلم الشبكات و امن المعلومات , نصيحتي هي ان تتذكر هذه الصورة , اعلم انها تبدو طويلة و معقدة في البداية , و ثق بما اقول انها كذلك , لكن كلما تستعمله اكثر (و ستفعل) ستفهمه بشكل اسرع .

السبب في استخدام نهج الطبقات للشبكة , هو ان نموذج الطبقات تأخذ مهمة معينه , و تجزئها الى سلسلة من المهام , انشطة او مكونات , كل منها عينت و طورت بشكل مستقل , نموذج طبقات الـ OSI تسمح ايضا بالتمددية , بروتوكولات جديدة و خدمات اخرى تجعمل من السهل اضافتها الى بنية الطبقات .
الفكرة الاساسية خلف مصدر نموذج الـ OSI هي كالتالي , كل طبقة مسؤولة عن نوعا ما من المعالجة و كل طبقة تتحدث او تتواصل مباشرتا مع الطبقة الاعلى منها او الاسفل منها فقط , فمثلا , الطبقة السادسة تتواصل مع الطبقة السابعة و الخامسة فقط , وليس مباشرتا مع الطبقة الاولى , تذكر هذا و سيسهل عليك الامر .
عندما يقوم حاسوبك بارسال معلومات للشبكة , طبقة واحدة معينة تقوم باستلام المعلومات من الطبقة الاعلى منها , عندها تقوم بمعالجة ما استلمته , ثم تضيف بعض معلومات التحكم لها عن الطبقة المسؤلة حاليا عنها , عندها تمرر هذه البيانات مع معلومات التحكم المضافة اليها الى الطبقة الاسفل منها .

عندما يستلم حاسوبك هذه البيانات , تحدث عملية مضادة او عكسية , طبقة واحدة محددة تستلم البيانات من الطبقة ادناه , معالجة ما استلمته , ازالة معلومات التحكم عن الطبقة التي كانت مسؤلة عنها , و ارسال البيانات الى الطبقة الاعلى منها دون معلمات التحكم .
ما هو مهم ان تبقيه في ذهنك , ان كل طبقة تضيف او تزيل معلومات التحكم عندما تكون هي المسؤلة عن البيانات , يوجد ايضا جملة مختصرة تساعدك في تذكر النموذج من الاسفل الى الاعلى و التي هي :
"Please Do Not Throw Sausage Pizza Away"
و تعني "رجاءا لا ترمي بيتزا السجق بعيدا" حيث تتطابق اول حرف من كل كلمة مع اول حرف من كل طبقة من النموذج .
الطبقة 1 - Physical :
طبقة الـ Physical يصف الوسائط الفيزيائية او الملموسة التي تنتقل من خلالها البيانات . و التي هي (كابلات الايثرنيت Ethernet Cables , كروت الشبكة Network Interface Controllers , ) و اشياء مشابه لهؤلاء , وهي ايضا تمثل الوسيط بين الشبكة و الاجهزة المتصلة بها .
الطبقة 2 - Datalink :
طبقة الـ Datalink هي عندما تتحول الرزم "Packets" الى صف من الاصفار و الاحايد (00110101) ليتم نقلها بواسطة طبقة الـ Physical , هذه ايضا هي الطبقة التي تبذأ بستخدام احدى اكثر العناوين الاساسية و التي هي عنوان الـ (MAC (Media Access Control فكر بعنوان الماك على انها رقم رخصة القيادة , فهي فقط رقم فريدة من نوعها لا تتطابق مع عناوين الاشخاص الاخرى .
و الان فكر بعناوين الايبي "IP Address" كعناوين البريد الشخصي , عناوين البريد تجمع الناس في مناطق باستعمال الرمز البريدي "Zip Code" , مدينة , محافظة , و معرفات الشارع .
ملخص عن الطبقة 1 و الطبقة 2:
عندما يستقبل كارت الشبكة دفعة او مجموعة من البتات "bits" من الشبكة , فهو يستقبل هذه البيانات من الكابل (الطبقة الاولى) , ثم الطبقة الثانية سوف تكون مسؤلة في اعطاء المعنى لهذه الاصفار (0) و الوحايد (1) , الطبقة الثانية اول ما يقوم به هو تفقد عنوان الماك للوجهة "Destination Mac Address" في هيكل الحزمة "Frame" للتاكد ان البيانات كانت مقصودة لهذا الحاسوب , اذا ما كانت عنوان الماك للوجهة مطابقة لعنوان الماك لكارت الشبكة , سيستقبل هذه البيانات .
الطبقة 3 - Network :
طبقة الـ Network تحدد كيفية انتقال البينات بين اجهزة الشبكة , ايضا يقوم بترجمة العنوان المنطقي "Logical Address" الى العنوان الفيزيائي "Physical Address" (ترجمة أسم الحاسبة الى عنوان الماك) , فهو ايضا مسؤولة عن تحديد المسار , ادارة مشاكل الشبكة , و العنونة . الموجهات "ٌRouters" او ما تسمى بجهاز الراوتر تعمل ايضا على طبقة الـ Network.

الجزء الاهم من فهم هذه الطبقة هي ان اجهزة الراوترات (الموجهات) يتخذون القرارات معتمدين على معلومات هذه الطبقة طبقة الـ Network , الراوترات هي اجهزة تقرر كيفية ارسال المعلومات من شبكة وهمية الى اخرى , الراوترات تفهم بروتوكول الانترنيت الايبي (Internet Protocol (IP و اساس القرارات الذي يتخذها في توجيه البيانتات معتمدة على هذه المعلومات .
الطبقة 4 - Transport :
طبقة الـ Transport يستقبل البيانات من طبقة الـ Session و يجزئها الى حزم صغيرة ثم يسلمها الى طبقة الـ Network , ضمان الوصول الناجح للبيانات الى الجهاز المستقبل هي مسؤولية طبقة الـ Transport , الـTLS او Transport Layer Security ايضا ينفذ في هذه الطبقة .
الطبقة 5 - Session :
طبقة الـ Session يدير الاعدادات و التكلم للجلسة المعمولة بين نقطتين متصلتين مع بعض , يسمى بالاتصال "Connection" , على الاتصال ايضا ان يكون مصانا او محافضا عليه بين النقطتين اثناء التواصل ذهابا و ايابا.
طريقة اخرى للنظر الى طبقة الـ Session , لنتصور حاسوبك , فلنقل انك تتصفح الانترنيت , تحمل ملف من خادم الـ FTP , تستمع الى بعض الموسيقى من الانترنيت , ومن يعلم ماذا ايضا , كل هذا في الوقت نفسه , كل هذه البيانات تاتي الى حاسوبك , و لكن لن يكون له اي معنى اذا تم ارسال بيانات التحميل للـ FTP (بروتوكول نقل الملفات) الى اللسان "Tap" الخاص بيوتوب الذي تستمع منه الى الموسيقى , اليس كذلك , فهي هذه الطبقة التي تستعمل فيها المنافذ "Ports" و يتم ارسال البيانات بشكل صحيح الى وجهاتها .
الطبقة 6 - Presentation :
طبقة الـ Presentation يقوم بحل الاختلافات في تمثيل او صيغة البيانات و ذلك بترجمتها من صيغة الـ Application الى صيغة الـ Network , و العكس صحيح , فهي تقوم بتحويل البيانات الى صيغة تفهما او تتقبلها طبقة الـ Application , تذكر, كل طبقة تستطيع فقط ان تتحدث مع الطبقة الاعلى منها او الادنا منها .
هذه الطبقة تتعلق اساسا بتركيبة الجمل و الدلالات للمعلومات المرسلة , للرسائل المخرجة , فهي تحول البيانات الى صيغة عامة للارسال , للرسائل المستقبلة , فهي تحول البيانات لصيغة مفهومة للبرنامج المستقبلة لها , هذه الطبقة ايضا يصيغ و يشفر البيانات ليتم ارسالها خلال الشبكة , حيث يخلصنا من مشاكل التوافق "Compatibility" .
الطبقة 7 - Application :
طبقة الـ Application هي الطبقة الاعلى في النموذج , فهي توفر مجموعة من الواجهات "Interfaces" للتطبيقات للحصول على حق الوصول الى خدمات الشبكة , هذه الطبقة توفر ايضا التحقق من الوصول الامن للتطبيقات و التحقق من صحة المعلومات .

غالبية الخدمات التي قد تبدو مالوفة لديك من ضمنها تشغيل الموسيقى من الانترنيت , البريد الالكتروني , العاب الويب , عندما تفكر بطبقة الـ Application , فقط فكر بهذه التطبيقات .
الى هنا ايها الهاكرز الطموحين سننهي درس اليوم , اعلم , بانك طموح و تتحرق شوقا لمعرفة كيفية التجسس و سرقة البيانات و امور اخرى كثيرة , لكن , استطيع ان اقول قد انكسر ظهري وانا اكتب كل هذا , و انت ايضا قد نلت كفايتك من هذا الدرس و تعلمت اشياء كثيرة عن نموذج الـ OSI , ثق بكلامي انها ستساعدك كثيرا في مسيرتك المهنية , ولا تقلق فبأذن الله في الدرس القادم سنكمل ما بدأناه و نتعلم كيف نسرق بعض البيانات .
ولا داعي للذكر اننا نشرح هذه الاشياء لاغراض تعليمية فقط و ليس لاذية الناس , ما نطمح له في هذه المدونة اننا نتعلم كيف تجري الامور و لماذا تجري هكذا و ليس ان نتعلم فعلها فقط , باختصار نريد ان نصبح هكرز وليس مقلدين , الفرق كبير جدا.
اذا استفدت من الدرس انشره ليستفيد منه غيرك و عسى من الله ان يجعله حسنة في ميزان حسناتك و حسناتي .
والسلام عليكم و رحمه الله و بركاته .
Comments