1. بداية الرحلة: جهازك في الشبكة المحلية (LAN)
تخيل إنك قاعد على جهازك في البيت، وده جزء من شبكتك LAN (الشبكة المحلية). لما بتحاول تتصل بالإنترنت، جهازك بيحتاج IP Address and Subnetting عشان يعرف مين هو في الشبكة. مين اللي بيديه الـIP ده؟ DHCP (Dynamic Host Configuration Protocol)، وهو زي موظف الاستقبال اللي بيوزع العناوين على كل الأجهزة الجديدة اللي بتدخل الشبكة.
- مفهوم إضافي: كل جهاز في الشبكة المحلية ليه MAC Address فريد. عشان الأجهزة تتواصل مع بعضها جوه الـLAN، بيستخدموا ARP، وهو البروتوكول اللي بيربط الـIP بالـMAC Address.
2. الخروج إلى العالم: من الـLAN إلى الـWAN
الآن جهازك عرف عنوانه، بس عشان يتصل بالإنترنت محتاج يخرج من شبكته المحلية. هنا بيجي دور Gateway، اللي هو غالباً الراوتر بتاعك. الراوتر ده هو البوابة اللي بتوديك على WAN ، واللي هي في حالتنا Internet.
- قبل ما طلبك يخرج، الراوتر بيستخدم NAT عشان يحول الـIP الداخلي بتاعك إلى IP عام (Public IP)، وده بيخلي كل أجهزة البيت تطلع على الإنترنت بنفس الـIP. الراوتر هنا بيشتغل كمان كـ**Firewall في الشبكة**، وده بيحمي شبكتك من الاتصالات الغير مرغوبة.
3. رحلة الطلب عبر الإنترنت: نماذج الاتصال
طلبك الآن في طريقه. كيف بيمشي؟ هنا بيجي دور OSI Model (قريبًا) و TCP_IP Model (قريبًا). دول مجرد نماذج نظرية بتوصف كيف البيانات بتنتقل من جهاز لجهاز عبر طبقات مختلفة.
- الــ Packet & Frame (قريبًا): البيانات بتاعتك بتتقسم لأجزاء صغيرة اسمها Packet (حزمة) لما بتخرج من جهازك، وكل حزمة ليها عنوان الرايح وعنوان الجاي.
4. وصول الطلب إلى السيرفر
طلبك بيمر عبر أجهزة زي الـHub, Switch, Router (قريبًا)، كل واحد وظيفته يوجه الحزم دي في مسارها الصحيح لحد ما توصل للسيرفر المطلوب.
- الطلب قبل ما يروح السيرفر، جهازك محتاج يعرف الـIP بتاع الموقع اللي طالبه. ده دور الـ DNS (قريبًا)، هو اللي بيترجم اسم الموقع (زي www.google.com) إلى الـIP الخاص به (زي 142.250.187.164). تقدر تستخدم أدوات زي nslookup - dig (قريبًا) عشان تشوف عملية الترجمة دي بنفسك.
5. دورة حياة الطلب: نموذج العميل-الخادم
طلبك وصل أخيراً. هنا بنكون في قلب نموذج Client with Server، اللي هو الأساس في اختبار اختراق الويب. أنت العميل (Client) والسيرفر هو اللي بيستضيف الموقع.
- Request - Response: العلاقة بينكم قائمة على الطلب والاستجابة. أنت بتبعت Request (طلب)، والسيرفر بيرد عليك بـResponse (استجابة).
6. بروتوكولات الاتصال والمنافذ
- الـ Ports and Protocols: طلبك لازم يمشي عبر Port (Well-known - Ephemeral) (قريبًا) (منفذ) معين. على سبيل المثال، عشان تتصفح موقع، طلبك هيروح للمنفذ 80 (لـ**HTTP/HTTPS**)، أو 443 (لـHTTP Secure).
- الـ TCP vs UDP (قريبًا): طلبك ده بيستخدم TCP (Transmission Control Protocol) عشان يضمن وصول كل الحزم بترتيبها الصحيح وبدون فقدان.
- الــ ICMP (قريبًا): ده بروتوكول مهم جداً عشان تختبر الاتصال. أدوات زي ping - traceroute (قريبًا) بتستخدمه عشان تعرف إذا كان الجهاز شغال والمسار اللي بياخده طلبك.
7. أدوات مهمة للمختبر
- netstat (قريبًا): بيساعدك تشوف كل الاتصالات اللي جهازك عاملها حالياً.
- curl / wget (قريبًا): أدوات أساسية بتستخدمها عشان تبعت طلبات HTTP من سطر الأوامر (Command Line) بدل المتصفح، ودي مهمة جداً في البنتست (قريبًا).
8. الحماية والتحايل على الشبكة
- Proxy & VPN بشكل عام (قريبًا): لما تستخدم أدوات زي Burp Suite، أنت بتحولها لـProxy، وده بيخليها تقف في النص بينك وبين السيرفر عشان تشوف وتعدل على الطلبات. الـVPN هو نوع تاني من الـProxy بيعمل نفق آمن بينك وبين شبكة تانية.
ده ملخص لرحلة الطلب بتاعتك. لو في أي نقطة محتاج نشرحها بتفصيل أكبر، أنا موجود.