في هذا الدرس 9تصفّح المواضيع
يحتوي كل جهاز قادر على الاتصال بالشبكة — سواء أكان حاسوباً محمولاً أم هاتفاً ذكياً أم خادم ويب أم منفذ راوتر — على شريحة عتادية تُسمى بطاقة واجهة الشبكة (Network Interface Card — NIC). ولكي تنتقل إطارات البيانات بدقة من بطاقة إلى أخرى داخل نفس الشبكة المحلية، تحصل كل بطاقة شبكة أثناء تصنيعها على معرّف رقمي فريد يُعرف باسم عنوان التحكم في الوصول للوسط (Media Access Control Address — MAC Address).
إذا شبّهنا عنوان IP المنطقي بعنوان السكن البريدي الذي يتغير كلما انتقلت إلى حي جديد أو اتصلت بشبكة واي فاي مختلفة، فإن عنوان MAC الفيزيائي يشبه الرقم القومي أو رقم الشاسيه المحفور داخل ذاكرة القراءة فقط (ROM) في بطاقة الشبكة. ولهذا السبب تُطلق عليه مراجع الشبكات وأنظمة التشغيل اسم العنوان الفيزيائي (Physical Address) أو العنوان العتادي (Hardware Address) أو العنوان المطبوع في المصنع (Burned-In Address — BIA).
- طبقة العمل الشبكي: يعمل عنوان
MACفي الطبقة الثانية (طبقة ربط البيانات — Data Link Layer / Layer 2) لتسليم إطارات الإيثرنت والواي فاي داخل حدود الشبكة المحلية (LAN). - عنوان لكل واجهة لا لكل جهاز: يمتلك الحاسوب الواحد غالباً عدة عناوين
MACفي آنٍ واحد: عنواناً لمنفذ الكابل السلكي (Ethernet)، وعنواناً ثانياً لبطاقة اللاسلكي (Wi-Fi)، وعنواناً ثالثاً للبلوتوث، فضلاً عن عناوينMACافتراضية لبطاقات الأجهزة الافتراضية (vNIC).
يتكون عنوان MAC القياسي (المعروف معيارياً باسم MAC-48 أو EUI-48) من 48 بتاً ثنائياً (6 بايتات) بالضبط، مما يوفر فضاءً هائلاً يتسع لأكثر من 281 تريليون عنوان محتمل (2^48). ولتسهيل قراءته وكتابته، تُعرض هذه البتات الثمانية والأربعون على هيئة 12 خانة بالنظام الست عشري (Hexadecimal — الأرقام من 0 إلى 9 والحروف من A إلى F)، بحيث يمثل كل زوج من الخانات بايتاً واحداً (8 بتات).
وفقاً لمعايير معهد مهندسي الكهرباء والإلكترونيات (IEEE)، ينقسم عنوان MAC إلى نصفين متساويين يتألف كل منهما من 24 بتاً (3 بايتات):
- النصف الأول (أول 3 بايتات / 6 خانات ست عشرية) — معرّف المصنّع الفريد (Organizationally Unique Identifier —
OUI): تمنحه هيئةIEEEرسمياً للشركة المصنّعة للبطاقة أو لبرنامج المحاكاة الافتراضية (مثل البادئة08:00:27المخصصة لبطاقاتVirtualBox). ويستفيد منه مهندسو الشبكات والأمن السيبراني لمعرفة نوع الجهاز والشركة الصانعة له بمجرد النظر إلى أول ست خانات. - النصف الثاني (آخر 3 بايتات / 6 خانات ست عشرية) — معرّف البطاقة الخاص (): تسنده الشركة المصنّعة كرقم تسلسلي فريد لكل بطاقة تنتجها لضمان عدم تكرار العنوان عالمياً.
عندما ينتقل إطار إيثرنت عبر الشبكة المحلية، يحمل رأس الإطار (Frame Header) في الطبقة الثانية دائماً عنوان MAC للمرسل (وهو دائماً عنوان أحادي لجهاز واحد) وعنوان MAC للوجهة. وبحسب طبيعة المستلم داخل الشبكة المحلية، ينقسم عنوان MAC للوجهة إلى ثلاثة أنماط رئيسية:
- 1. عنوان MAC الفردي أو الأحادي (Unicast MAC — من واحد لواحد): يشير إلى بطاقة شبكة واحدة محددة داخل الشبكة المحلية (حيث يكون بت
I/Gمساوياً لـ0، أي تكون الخانة الست عشرية الثانية رقماً زوجياً مثل0, 2, 4, 6, 8, A, C, E). يوجّه السويتش هذا الإطار إلى منفذ الجهاز المقصود وحده. - 2. عنوان MAC الجماعي (Multicast MAC — من واحد لمجموعة): يخاطب مجموعة مختارة من الأجهزة المشتركة في خدمة معينة (حيث يكون بت
I/Gمساوياً لـ1). ومن أشهر أمثلته النطاق القياسي01:00:5E:xx:xx:xxالمخصص للبث المتعدد فيIPv4، والنطاق33:33:xx:xx:xx:xxالمستخدم في شبكاتIPv6. - 3. عنوان MAC للبث العام (Broadcast MAC — من واحد للجميع): يتكون من 48 بتاً كلها واحدات ثنائية، ويُكتب بالصيغة الشهيرة
FF:FF:FF:FF:FF:FF. عندما يستقبل السويتش إطاراً موجهاً إلى هذا العنوان، فإنه ينشره إجبارياً عبر جميع منافذه النشطة لتستلمه كل الأجهزة داخل نفس الشبكة المحلية (LAN).
تأمّل في المثال التالي الفرق العملي بين أنماط عناوين الوجهة الثلاثة داخل رأس إطار الإيثرنت:
# 1. Unicast Frame (Delivered to Port 4 only)
Src MAC: 00:1A:2B:3C:4D:5E -> Dst MAC: 00:26:B9:7A:11:04
# 2. IPv4 Multicast Frame (Delivered to subscribed group)
Src MAC: 00:1A:2B:3C:4D:5E -> Dst MAC: 01:00:5E:00:00:FB
# 3. Broadcast Frame (Flooded to ALL ports in the LAN/VLAN)
Src MAC: 00:1A:2B:3C:4D:5E -> Dst MAC: FF:FF:FF:FF:FF:FF
عرفنا في الدرس الثاني أن محول الشبكة الذكي (Switch) يتفوق جذرياً على الموزع التقليدي (Hub) لأنه يرسل البيانات إلى الجهاز المقصود وحده بدلاً من إغراق كل المنافذ. ولكن كيف يعرف السويتش أي جهاز يقع خلف أي منفذ؟ يعتمد السويتش على بناء جدول داخلي فائق السرعة في ذاكرته يُسمى جدول عناوين MAC (MAC Address Table) أو جدول الذاكرة القابلة للعنونة بالمحتوى (Content Addressable Memory — CAM Table).
يدير السويتش هذا الجدول تلقائياً عبر عمليتين متكاملتين مع كل إطار إيثرنت يدخل من أحد منافذه:
- 1. التعلّم التلقائي (فحص عنوان MAC للمرسل — Source MAC): فور دخول أي إطار من منفذ معين (مثل المنفذ
Gi0/1)، يقرأ السويتش عنوان MAC للمرسل ويسجله في جدولCAMمقترناً برقم ذلك المنفذ، ويضبط له مؤقت صلاحية زمنياً. - 2. التوجيه الدقيق أو الفيضان (فحص عنوان MAC للوجهة — Destination MAC): بعد ذلك يبحث السويتش عن عنوان MAC للوجهة داخل جدوله؛ فإذا وجده مسجلاً (Known Unicast) أرسل الإطار إلى ذلك المنفذ الفردي فقط. أما إذا لم يكن العنوان مسجلاً بعد (Unknown Unicast) أو كان عنوان بث عام
FF:FF:FF:FF:FF:FF، فيقوم السويتش بعملية الفيضان (Flooding) أي نسخ الإطار وإرساله عبر جميع المنافذ الأخرى ما عدا المنفذ الذي دخل منه.
افترض أن متصفحك أو طرفية النظام تريد إرسال بيانات إلى خادم محلي يحمل العنوان المنطقي 192.168.1.20. هنا تظهر فجوة معمارية أساسية: التطبيقات ونظام التشغيل تتعامل مع عناوين IP المنطقية (في الطبقة الثالثة Layer 3)، بينما بطاقة الشبكة (NIC) ومحول السويتش المحلي لا يفهمان على الإطلاق سوى عناوين MAC الفيزيائية (في الطبقة الثانية Layer 2)؛ فلا يمكن لبطاقة الشبكة إرسال أي حزمة عبر الكابل دون كتابة عنوان MAC للوجهة في رأس الإطار.
من هنا تنشأ الحاجة الحتمية إلى جسر يربط بين الطبقتين: كيف يكتشف جهاز يعرف عنوان IPv4 المنطقي للجهاز المقابل عنوانه الفيزيائي MAC؟ الحل الهندسي القياسي هو بروتوكول تحليل العنوان (Address Resolution Protocol — ARP) المعتمد في الوثيقة المعيارية RFC 826.
- الحالة الأولى — الوجهة داخل نفس الشبكة المحلية (): عندما يريد الجهاز
192.168.1.10مخاطبة الجهاز192.168.1.20الواقع معه في نفس الشبكة، فإنه يستخدم بروتوكولARPللسؤال مباشرةً عن عنوانMACالخاص بـ192.168.1.20. - الحالة الثانية — الوجهة خارج الشبكة المحلية (عبر الإنترنت): عندما يريد الجهاز
192.168.1.10مخاطبة خادم بعيد على الإنترنت مثل8.8.8.8، يدرك النظام أن الوجهة خارج شبكته المحلية؛ فيستخدمARPلمعرفة عنوانMACالخاص بالبوابة الافتراضية (الراوتر المحليDefault Gatewayمثل192.168.1.1)، ويسلّم الإطار فيزيائياً للراوتر مع إبقاء عنوان8.8.8.8ثابتاً كوجهة منطقية في رأس حزمةIP!
يعمل بروتوكول تحليل العنوان (ARP) على ترجمة عنوان IPv4 إلى عنوان MAC عبر أربع خطوات متسلسلة تتلخص في القاعدة الذهبية الشهيرة في عالم الشبكات: «طلب ARP يُرسل كبث عام (Broadcast)، ورد ARP يُرسل كرد فردي مباشر (Unicast)»:
- الخطوة 1 — فحص الذاكرة المخبئية (): يفتش الجهاز المرسل أولاً في ذاكرته المؤقتة (
ARP Cache)؛ فإذا وجد عنوانMACالمقابل لعنوانIPمسجلاً مسبقاً، أرسل إطار البيانات فوراً دون إزعاج الشبكة بأي طلب جديد. - الخطوة 2 — بث رسالة طلب ARP (ARP Request — Opcode 1): إذا لم يجد العنوان في ذاكرته، يجهز المرسل رسالة
ARP Requestيضع فيها عنوانIPوMACالخاصين به، وعنوانIPالمطلوب، ويملأ حقلMACالهدف بأصفار00:00:00:00:00:00، ثم يرسل الإطار إلى عنوان البث العامFF:FF:FF:FF:FF:FFلينشره السويتش لكل أجهزة الشبكة المحلية. - الخطوة 3 — إرسال رسالة رد ARP الفردية (ARP Reply — Opcode 2): تقرأ جميع أجهزة الشبكة المحلية السؤال، لكن الجهاز الوحيد الذي يطابق عنوان
IPالمطلوب هو الذي يجيب، فيرسل رسالةARP Replyأحادية ومباشرة (Unicast) إلى عنوانMACالخاص بالسائل يخبره فيها بعنوانه الفيزيائي. - الخطوة 4 — تحديث الجدول وإرسال الحزمة: يحفظ الجهاز المرسل هذا الاقتران في جدول
ARP Cacheلعدة دقائق، ثم يغلف حزمة البيانات المنتظرة ويرسلها فوراً.
جرّب المحاكي التفاعلي التالي لتتبع خطوات البحث في ذاكرة ARP، وبث الطلب العام، واستلام الرد المباشر، وآلية تسليم الحزم للبوابة الافتراضية:
معمل محاكاة بروتوكول ARP والبوابة الافتراضية التفاعلي
توفر جميع أنظمة التشغيل أوامر جاهزة في سطر الأوامر تتيح لك كمطور ويب أو فاحص أمني استخراج عنوان MAC الفيزيائي لبطاقات جهازك، ومعاينة الأزواج المخزنة حالياً داخل جدول ذاكرة ARP (ARP Table).
أولاً، لعرض عنوان MAC الخاص ببطاقة شبكتك، نستخدم الأمر ipconfig /all أو getmac في نظام ويندوز، والأمر ip link في نظام لينكس كما في المخرجات التالية:
# Windows: View Physical Address (MAC) via ipconfig /all
C:\Users\student> ipconfig /all
Ethernet adapter Ethernet:
Description . . . . . . : Intel(R) Ethernet Connection
Physical Address. . . . : 00-1A-2B-3C-4D-5E
IPv4 Address. . . . . . : 192.168.1.10(Preferred)
# Linux: View link/ether MAC via ip link show
$ ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
ثانياً، لفحص جدول ذاكرة ARP المؤقتة على جهازك، شغّل الأمر القياسي المشترك arp -a (أو الأمر الحديث ip neigh في أنظمة لينكس). لاحظ كيف يعرض الجدول عنوان IP لكل جهاز مجاور، ومقابله عنوانه الفيزيائي MAC، ونوع السجل: هل تعلمه النظام تلقائياً عبر بروتوكول ARP (dynamic) أم ثُبّت يدوياً وعبر النظام (static):
# Windows / macOS: Inspect ARP Table
C:\Users\student> arp -a
Interface: 192.168.1.10 --- 0x4
Internet Address Physical Address Type
192.168.1.1 00-50-56-c0-00-01 dynamic
192.168.1.20 00-1a-2b-3c-4d-5e dynamic
255.255.255.255 ff-ff-ff-ff-ff-ff static
# Modern Linux: Inspect neighbor cache
$ ip neigh show
192.168.1.1 dev eth0 lladdr 00:50:56:c0:00:01 REACHABLE
192.168.1.20 dev eth0 lladdr 00:1a:2b:3c:4d:5e STALE
من أشهر الأسئلة الجوهرية في مقابلات هندسة الشبكات والأمن السيبراني: «إذا كانت كل بطاقة شبكة تملك أصلاً عنوان MAC فريداً على مستوى العالم، فلماذا نحتاج إلى عناوين IP؟ ولماذا لا نكتفي بأحدهما دون الآخر؟»
الإجابة تكمن في أن عنوان MAC هوية مسطحة مرتبطة بالمصنع (تشبه رقم جواز السفر الذي لا يدل على المدينة التي تتواجد فيها الآن)، بينما عنوان IP عنوان هرمي يدل على الموقع الشبكي (يشبه عنوان البريد المقسّم إلى: دولة ⟵ مدينة ⟵ شارع ⟵ مبنى). لو اعتمدت موجهات الإنترنت العالمية على عناوين MAC المسطحة، لاحتاج كل راوتر لحفظ مليارات العناوين الفردية العشوائية في جدوله، وهو أمر مستحيل هندسياً! لذلك تتولى عناوين IP توجيه الحزمة عبر القارات والشبكات حتى تصل إلى الشبكة المحلية المقصودة، وهناك يتولى بروتوكول ARP والسويتش المحلي تسليم الإطار للجهاز النهائي عبر عنوانه الفيزيائي MAC.
- قاعدة الثبات والتغير عبر الموجهات: أثناء رحلة الحزمة عبر عدة موجهات (Routers)، يظل عنوان IP للمرسل والوجهة ثابتاً من البداية للنهاية (ما لم يتدخل
NAT)، بينما يتغير عنوان MAC للمرسل والوجهة في رأس الإطار عند كل راوتر تعبره الحزمة (قفزة تلو قفزة —Hop-by-Hop)!
نظراً لأن بروتوكولات الطبقة الثانية صُممت قديماً على افتراض أن جميع الأجهزة المتصلة بنفس الكابل موثوقة، فإن عناوين MAC وبروتوكول ARP يرتبطان بقضيتين جوهريتين في الخصوصية والأمن السيبراني:
- 1. الخصوصية وميزة عشوائية عنوان MAC (): لو أرسل هاتفك الذكي عنوان
MACالحقيقي المطبوع في المصنع أثناء بحثه عن شبكات الواي فاي في المطارات والمقاهي والمراكز التجارية، لاستطاعت أنظمة التتبع رصد تحركاتك الجغرافية بدقة. لذلك تُفعّل أنظمة التشغيل الحديثة (Android وiOS وWindows 11 وmacOS) ميزة العنوان العشوائي للواي فاي افتراضياً، حيث يولّد النظام عنوانMACمحلياً مختلفاً (بتفعيل البتU/L = 1) لكل شبكة واي فاي يتصل بها. - 2. الخطر الأمني — انتحال وتسميم جدول ARP (): بروتوكول
ARPالقياسي لا يملك آلية للتحقق من الهوية؛ فالأجهزة تقبل أي رسالةARP Replyوتحدّث جداولها حتى لو لم تكن قد أرسلت طلباً! في هجوم تسميم ذاكرة ARP داخل الشبكة المحلية، يرسل المهاجم رسائلARPمزيفة لحاسوب الضحية يدّعي فيها أن عنوانMACالخاص بالمهاجم هو عنوان البوابة الافتراضية (192.168.1.1)، ويرسل للراوتر العكس؛ فيتمركز المهاجم في منتصف الاتصال لتنفيذ هجوم الرجل في المنتصف (Man-in-the-Middle —MitM) أو قطع الخدمة (DoS). - 3. وسائل الحماية والدفاع المؤسسي: يحمي مهندسو الشبكات البنية التحتية عبر تفعيل ميزة الفحص الديناميكي لبروتوكول ARP (Dynamic ARP Inspection —
DAI) على السويتشات المُدارة، والتي تقارن كل رسالةARPبقاعدة بياناتDHCP Snoopingالموثوقة وتحظر أي رد منتحل فوراً، بالإضافة إلى التشفير الكامل للاتصالات عبرHTTPS/TLS.
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
استوعبت في هذا الدرس بنية العنوان الفيزيائي MAC Address المكون من 48 بتاً (OUI ومعرّف البطاقة)، وأنماط الإرسال الفردي والجماعي والبث العام، وكيف يبني السويتش جدول CAM، وآلية عمل بروتوكول ARP للربط بين العنوان المنطقي والعنوان الفيزيائي. الخطوة التالية: انتقل الآن إلى الدرس العاشر: بروتوكول وعنوان آي بي (Internet Protocol Address IP) لنتعمق في عنونة الطبقة الثالثة وتشريح عناوين IPv4 وIPv6، والنطاقات الخاصة والعامة، وعنوان المضيف المحلي 127.0.0.1.
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات8
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 MAC Address العنوان الفيزيائي MAC
- معرّف عتادي فريد بطول 48 بت (6 بايت) يُسند لبطاقة واجهة الشبكة (NIC) ويُستخدم في الطبقة الثانية لتسليم الإطارات داخل الشبكة المحلية.
- للمراجعة
- 02 Organizationally Unique Identifier (OUI) معرّف المصنّع الفريد (OUI)
- أول 24 بت (أول 3 بايتات أو 6 خانات ست عشرية) من عنوان MAC، تمنحها هيئة IEEE لتحديد الشركة المصنّعة لبطاقة الشبكة.
- للمراجعة
- 03 Broadcast MAC Address عنوان MAC للبث العام
- عنوان الوجهة الخاص FF:FF:FF:FF:FF:FF (جميع البتات الـ 48 تساوي 1) الذي يوجه السويتش لإرسال نسخة من الإطار إلى كافة الأجهزة المتصلة بالشبكة المحلية.
- للمراجعة
- 04 CAM Table (MAC Address Table) جدول عناوين السويتش (CAM Table)
- جدول الذاكرة السريعة داخل محول الشبكة (Switch) الذي يربط عناوين MAC التي تعلمها السويتش بأرقام المنافذ الفيزيائية المتصلة بها.
- للمراجعة
- 05 Address Resolution Protocol (ARP) بروتوكول تحليل العنوان (ARP)
- البروتوكول القياسي (RFC 826) المسؤول عن اكتشاف العنوان الفيزيائي MAC المقابل لعنوان IPv4 منطقي معروف داخل الشبكة المحلية.
- للمراجعة
- 06 ARP Cache الذاكرة المخبئية لبروتوكول ARP
- جدول مؤقت في ذاكرة الجهاز أو الراوتر يحتفظ بأزواج عناوين IP وعناوين MAC التي تم اكتشافها مؤخراً لتجنب تكرار البث العام مع كل حزمة.
- للمراجعة
- 07 Gratuitous ARP (GARP) إعلان ARP التلقائي (Gratuitous ARP)
- رسالة بث يرسلها الجهاز تلقائياً عند اتصاله بالشبكة مستعلماً عن عنوان IP الخاص به نفسه لكشف أي تعارض في العناوين وتحديث جداول الشبكة.
- للمراجعة
- 08 ARP Spoofing (ARP Poisoning) انتحال وتسميم جدول ARP
- هجوم شبكي محلي يرسل فيه المهاجم ردود ARP مزيفة لربط عنوان MAC الخاص به بعنوان IP للبوابة الافتراضية أو جهاز آخر لتنفيذ هجوم الرجل في المنتصف.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات6
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 MAC MAC
- Media Access Control
- التحكم في الوصول للوسط — الطبقة الفرعية المسؤولة عن العنونة الفيزيائية للبطاقات وتنظيم وصول الإطارات لوسط النقل.
- للمراجعة
- 02 OUI OUI
- Organizationally Unique Identifier
- معرّف المؤسسة الفريد — أول 3 بايتات من عنوان MAC وتحدد الشركة المصنّعة لبطاقة الشبكة.
- للمراجعة
- 03 BIA BIA
- Burned-In Address
- العنوان المطبوع في المصنع — عنوان MAC الدائم المحفور داخل ذاكرة بطاقة الشبكة عند تصنيعها.
- للمراجعة
- 04 ARP ARP
- Address Resolution Protocol
- بروتوكول تحليل العنوان — يترجم عناوين IPv4 المنطقية إلى عناوين MAC الفيزيائية داخل الشبكة المحلية.
- للمراجعة
- 05 CAM CAM
- Content Addressable Memory
- الذاكرة القابلة للعنونة بالمحتوى — الذاكرة السريعة التي يخزن فيها السويتش جدول عناوين MAC ومنافذها.
- للمراجعة
- 06 DAI DAI
- Dynamic ARP Inspection
- الفحص الديناميكي لبروتوكول ARP — ميزة أمنية في السويتشات المُدارة تحظر رسائل ARP المزيفة.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
مهامك قبل الاختبار
خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.
-
افتح موجه الأوامر أو الطرفية على جهازك ونفّذ الأمر ipconfig /all (في ويندوز) أو ip link (في لينكس/ماك). دوّن عنوان MAC المكون من 12 خانة ست عشرية لبطاقة شبكتك النشطة، وافصل بين قسم المصنّع OUI (أول 3 بايتات) وقسم البطاقة (آخر 3 بايتات)، وحدد هل العنوان عالمي أصلي من المصنع أم عشوائي محلي.
-
نفّذ الأمر arp -a (أو ip neigh) في سطر الأوامر، وابحث عن عنوان IP الخاص بالبوابة الافتراضية (الراوتر المحلي مثل 192.168.1.1)، ثم استخرج عنوان MAC الفيزيائي المقابل له ونوع السجل (dynamic أم static)، واشرح لماذا يحتاج حاسوبك إلى عنوان MAC للراوتر عند تصفح أي موقع على الإنترنت.
تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.