تخط إلى المحتوى
English

كيف يعمل الإنترنت

ماذا يحدث من لحظة كتابة عنوان موقع في المتصفح إلى أن تظهر الصفحة أمامك

المسار
الأساسيات
الوقت المتوقع
15 د
المستوى
مبتدئ
تقدمك في المسار0%

قبل أن تفهم كيف تخترق المواقع يجب أن تفهم كيف تعمل كل ثغرة ستتعلمها لاحقا هي في النهاية رسالة أرسلت بطريقة لم يتوقعها أحد في هذا الدرس نتتبع رحلة طلب واحد من جهازك إلى الموقع وعودته

العميل والخادم

الإنترنت شبكة من الأجهزة التي تتبادل الرسائل في أغلب ما ستتعامل معه يوجد طرفان:

  • العميل (Client): البرنامج الذي يطلب وهو غالبا متصفحك
  • الخادم (Server): الجهاز الذي ينتظر الطلبات ويرد عليها وعليه ملفات الموقع وبياناته

المتصفح لا «يفتح» الموقع هو يرسل طلبا والخادم يرد بملفات والمتصفح يرسمها على الشاشة

العناوين: IP و DNS

كل جهاز على الشبكة له عنوان رقمي يسمى رقم يميز الجهاز على الشبكة مثل 203.0.113.10. الرسائل توجه إليه كما توجه الرسالة البريدية إلى عنوان المنزل.. لكن الناس يحفظون الأسماء لا الأرقام ولهذا وجد نظام أسماء النطاقات (DNS).

عندما تكتب example.com يسأل جهازك خادم DNS: ما عنوان IP لهذا الاسم؟ ثم يستخدم الرقم الذي يعود للاتصال بالخادم يمكنك أن ترى ذلك بنفسك:

terminal
# اسأل DNS عن عنوان النطاق
nslookup example.com
سؤال مراجعةما وظيفة DNS؟

المنافذ والبروتوكولات

الخادم الواحد قد يشغل عدة خدمات معا: موقع وبريد واتصال عن بعد للتمييز بينها يستخدم كل منها رقم من 0 إلى 65535 يحدد أي خدمة على الجهاز تستقبل الرسالة عنوان IP يوصلك إلى المبنى والمنفذ يوصلك إلى الشقة. مختلفا

الخدمة المنفذ المعتاد
HTTP (الويب بدون تشفير) 80
HTTPS (الويب مع تشفير) 443
SSH (اتصال عن بعد) 22

أما البروتوكول (Protocol) فهو اللغة المتفق عليها لشكل الرسائل المتصفح والخادم يتفاهمان ببروتوكول HTTP وهو موضوع الدرس القادم

رحلة طلب واحد

عندما تكتب https://example.com/about وتضغط Enter يحدث الآتي بالترتيب:

  1. يسأل المتصفح DNS عن عنوان IP للنطاق example.com.
  2. يفتح اتصالا بذلك العنوان على المنفذ 443.
  3. يتفق الطرفان على تشفير الاتصال وهذا ما يعنيه حرف S في HTTPS.
  4. يرسل المتصفح طلب HTTP يقول: أريد الصفحة /about.
  5. يرد الخادم برمز الحالة ومحتوى الصفحة
  6. يقرأ المتصفح المحتوى ويطلب ما يحتاجه من صور وملفات ثم يرسم الصفحة

الطلب في الخطوة الرابعة نص بسيط يمكن قراءته:

HTTP request
GET /about HTTP/1.1
Host: example.com
User-Agent: ExampleBrowser/1.0

لماذا يهمك هذا في الأمن

كل خطوة في هذه الرحلة مكان يمكن أن يحدث فيه خطأ:

  • إذا وثق الخادم بكل ما في الطلب دون فحص يستطيع المهاجم أن يكتب طلبا لم يتوقعه المبرمج هذا أصل ثغرات مثل SQL Injection و XSS.
  • إذا لم يكن الاتصال مشفرا يستطيع من يقف في منتصف الطريق أن يقرأ الرسائل
  • إذا ترك منفذ مفتوحا لخدمة منسية صار بابا إضافيا إلى الخادم
سؤال مراجعةكتبت عنوان موقع وضغطت Enter. ما أول شيء يفعله المتصفح؟

اللابات

لابات هذا الدرس قيد الإعداد