أساسيات الشبكات للهاكر الطموح - الجزء الثاني
- By: Haider khalid
- Nov 26, 2016
- 6 min read

أهلا و سهلا من جديد أيها الهاكرز الطموحين .
في الجزء الاول من هذه السلسلة , لقد عرفتك على الأساسيات التي يعتمد عليها كل شبكة مثل عناوين الايبي ip addresses , تقنية الـNAT, المنافذ Ports , و تقنية الـDHCP , في هذا الدرس اريد ان اعرفك على أساسيات الـTCP/IP والذي هو مختصر لـ(Transmission Control Protocol) وايضا الـ(Internet Protocol) او ما يسمى بالـ IP .
هؤلاء هما البروتوكلين الاكثر شيوعا المستخدمة في الانترنيت للتواصل .
لتصبح هاكر محترف , محقق أدلة جنائية رقمية (سيكون هناك دورة مخصصة للادلة الجنائية الرقمية في القريب العاجل باذن الله) , او مهندس شبكات محترف , يجب عليك ان تفهم البنية التحتية و التركيب لهاذين البروتوكولين , من خبرتي في هذا المجال العديد من المحترفين لا يفهمون البنية التحتية للـTCP/IP , وبهذا سيكون لديك أفضلية عليهم ان فهمت الأساسيات بشكل جيد .
عندما تريد ان تصنع أداة جديدة للاختراق او تريد ان تحقق في هجمة معينة على شبكتك , فهم هذه البروتوكولات أمر أساسي لابد منه , بخلاف هذا ستقوم بتضييع وقتك فقط دون جدوى .

ماهي البروتوكولات؟؟؟
البروتوكولات هي ببساطة طريقة متفق عليها للتواصل , مثالا على ذلك , هنا في مدونة Pentest In Arabic نحن متفقون على استخدام اللغة العربية بكل قواعدها و نحويتها للتواصل و كتابة الدروس , هذه هي البروتوكول الخاص بنا , اذا لم نتفق على طريقة معينة للتواصل , فان الناس سيستخدمون لغات عديدة او من الممكن ان اكتب كل درس بلغة معينة , وهكذا لن يفهم احدنا على الاخر .
البروتوكولات متشابه , البروتوكول ببساطة يحدد طريقة التواصل مع كل قوانينها , هذه القوانين تحددها
الـRFC (Request For Comments) .
هناك الكثير , الكثير من البروتوكولات قيد الاستعمال على الانترنيت , وهي عبارة عن TCP, IP, UDP, FTP, HTTP, SMTP والخ .. وكل منها لديها مجموعة قوانينها الخاصة التي يجب ان تتطبق في سبيل ان تتم الاتصال على نحو فعال (مشابه للقوانين التي اتبعناها في انشاء هذه المدونة حول استخدام اللغة العربية) , من اهم البروتوكولات التي تستعمل على الانترنيت هما الـIP و الـTCP , اذا لنلقي نظرة على كلا منهما .

IP (Internet Protocol)
الايبي ip , او بروتوكول الانترنيت (Internet Protocol) , هو البروتوكول المستعمل لتعريف عنوان الايبي للمصدر Source و الوجهةDestination , للحزم Packets اثناء سيرها عبر الانترنيت . فهي غالبا ما تستخدم مندمجة ببروتوكولات اخرى مثل TCP , وبالتالي غالبا ما تستعمل جنبا الى جنب كـ TCP/IP.
إذًا, دعنا نلقي نظرة على راس header رزمة الايبي لنرى ما تحتويه و ما هي المعلومات التي من الممكن ان يستفيد منها الهاكر الطموح او محققي الجنائيات الرقمية .

الصف 1
الاصدار Version : هذا الحقل يبين اصدار عنوان الايبي اما ipv4 او ipv6
IHL: يبين طول الرأس للرزمة
Type of Service (TOS) : هذا الحقل يبين نوع الخدمة لهذا الرزمة , قد تكون تقليل وقت الوصول minimize delay او تحقيق اكبر قدر من الانتاجية maximize throughput او تحقيق اقصى قدر من الموثوقية maximize reliability او تقليل التكلفة النقدية minimize monetary cost
الطول الكلي Total Length : هذا الحقل يبين الطول الكلي لمخطط البيانات لعنوان الايبي , بما في ذلك البيانات او قطعة من البيانات fragment و تكون اكبر قيمة له 65,535
الصف 2
المعرف Identification : هذا الحقل يعرف كل رزمة بشكل فريد , ومن الممكن ان تكون حاسمة في اعادة تجميع الرزم المجزئة
IP Flags : هذا الحقل يحدد ما اذا كان الرزمة مجزئة (M) او غير مجزئة (D) , التلاعب بهذا الحقل يستخدم لاجتياز الجدران النارية و الـIDS انظمة كشف التسلل , قد ندرس لاحقا عملية البحث او المسح باستخدام اداة الـnmap و الـHping 3 عندها سنشاهد كيف يتم التلاعب بهذه الاعلام .
Fragment Offset : هذا الحقل يستخدم عندما تكون الرزمة مجزئة Fragmented , فهو يحدد من اين يجب اعادة الجمع في حزم من بداية راس الـIP
الصف 3
TTL: يعرف بـ Time To Live وهو يحدد عمر الرزمة بتحديد عدد النقاط hops التي يقطعها عند مرورها في الانترنيت قبل ان تنتهي صلاحيتها , فهو يختلف من نظام تشغيل لاخر , لذلك يستخدم في تحديد نوع النظام المرسل للحزمة بقرائة قيمة الـTTL لديها .
البروتوكول Protocol : هذا الحقل يحدد اي بروتوكول يستخدم مع الايبي , في اغلب الاحيان تكون 6 للـTCP او 1 للـICMP او 17 للـUDP و هكذا للبقية .
Header Checksum : وهو حقل التحقق من الاخطاء , فهو يقوم بحساب الـchecksum (خوارزمية بسيطة) لضمان سلامة البيانات في الراس .
الصف 4و5
عناوين المصدر و الوجهة Source / Destination : هذه الحقول من راس الايبي من المفترض ان تكون من اهم الحقول لاحتوائها على عناوين المرسل و المستقبل او المصدر و الوجهة .
الصف 6
Option : هذا الحقل هو الطول المتغير للراس واستخدامه اخياري .
Padding : هذا الحقل يستخدم للمليء , اذا كان ضروريا , سيقوم بملأ البتتات و البايتات المتبقية من الرزمة .
TCP (Transmission Control Protocol)
في راس الـTCP هناك العديد من الحقول الهامة الذي على كل هاكر طموح ان يكون على علم به .

الصف 1
منفذ المصدر / منفذ الوجهة Source port / Destination port: هذا الحقل يحدد منفذ المصدر و منفذ المستقبل أو الوجهة , حيث يحدد رقم المنفذ الذي جاء منه الاتصال و الى اين يذهب (رقم منفذ الوجهة)
الصف 2
رقم التسلسل Sequence Number : رقم التسلسل يولد من قبل الاجهزة المرسلة لرزمة الـTCP , تستخدم للتأكد من أن الرزمة مرتبة حسب الرقم التسلسلي الصحيح عن وصولها الى الوجهة , وهي ايضا مهمة في تحديد هجمات MitM Attacks .
الصف 3
Acknowledgement Number : وهو صدى للرقم التسلسلي يرسل من قبل المستلم للرزمة , فهو ببساطة يقول "لقد استلمت الرزمة مع الرقم التسلسلي الفلاني" بهذه الطريقة , المرسل سوف يعلم ان الرزمة قد وصلت بنجاح للمستقبل ,اذ لم يستلم المرسل اشعار بالاستلام Acknowledgement في وقت محدد من الزمن , سيعيد ارسال الحزمة للتاكد من ان المستلم قد استلمها بنجاح , وبهذه الطريقة يكون الـTCP ذو موثوقية في ارسال البيانات , على سبيل المثال , الـUDB لا يقوم بهذه الامور لذلك فانها لا تكون ذاك موثوقية في ارسال البيانات .
الصف 4
الصف الرابع من الـTCP يوجد فيها بعض المعلومات المهمة , دعنا نتخطة Data offset و Reserved , هذا ياخذنا الى البت الثامن 8bit القريب من وسط الصف الرابع , هذه هي الاعلام السيئة السمعة للتصافح الثلاثي Three-Way-Handshake و الفحص بالـ Nmap , اول بتين 2 bits الـCWR و الـECE , هما خارج نظاق هذا الدرس , الست بتات الاخرى هو الاعلام URG, ACK, PSH, RST, SYN, و FIN , هذه الاعلام تستخدم من قبل الـTCP للتواصل.
SYN: فتح اتصال جديد .
FIN: اغلاق طبيعي بدون مشاكل او عوامل مؤثرة للاتصال .
ACK: اشعار استلام الحزمة , كل الحزم بعد انتهاء المصافحة الثلاثية يجب ان تكون هذا البت محددة لها .
RST: اغلاق مفاجيء للاتصال , عادةً ما تستخدم عن وصول الحزمة الى المنفذ الخاطيء او عنوان الايبي الخاطيء.
URG: هذا العلم يشير إلى أن البيانات التالية ملحة او مستعجلة .
PSH: دفع البيانات في الـBuffer الخازن المؤقت الى التطبيقات .
اذا كنت مطلع على Nmap و Hping3 او ادوات جمع المعلومات , فانك على الارجح قد رايت كل هذه الاعلام تستخدم في عمليات الفحص او البحث , بخلق الحزم مع التركيبة الصحيحة للاعلام من الممكن ان نحصل على الرد من اي نظام قوي او حصين او حتى التهرب من الكشف .
Window Size : في بعض الجداول هذا الحقل قد تكون مسمات بحقل الـwindow فقط , دورها هي التوصل الى حجم النافذة المناسبة للـTCP لخزن حزمها , وهذه هي الطريقة الذي يدير بها الـTCP التحكم بتدفق الحزم , من وجهة نظر الخبراء في هذا المجال , ان هذا الحقل وحدها كاف لتبين نوع النظام الذي يرسل الحزم , هذا الحقل تختلف من نظام لنظام و حتى من مزود خدمة لاخر , باعطاء هذه المعلومات البسيطة , نستطيع ان نجزم الى 80% نوع النظام المرسل للحزمة, في الحقيقة هذا الحقل و بعض الحقول الاخرى (DF و TTL في راس حزمة الايبي) هي كبصمات الاصابع لانظمة التشغيل والذي يستعمل من قبل الاداة Pof لتحديد نوع النظام .
الصف 5
Checksum : هذا الحقل يستخدم خوارزمية بسيطة للتحقق من وجود الاخطاء ,
URG Pointer : هذا الحقل يحدد اخر بايت من الرقم التسلسلي للبيانات الملحة , العلم URG يجب ان يقترن لتفعيل هذا الحقل.
الصف 6
Options : مثل راس الايبي , راس الـTCP لديها الحقل option ايضا , وهو حقل اختياري يستخدم عن الحاجة للاطوال المتفاوتة.
Padding : هذا الحقل مهم في الـTCP لملء الرأس و ايصاله الى 32bit الكاملة .
اذا كان لديك أي أسئلة بخصوص هذه الأساسيات على TCP/IP , اسال عن طريق ترك تعليق في الاسفل , و سأحاول أن أجعلك تفهم بشكل أفضل .
إبق على إطلاع دائم أيها الهاكر الطموح , لنكتشف معا هذا العالم الجميل المليء بالمعلومات المفيدة .
والسلام عليكم و رحمة الله و بركاته.
Comments