
- بواسطة x32x01 ||
إيه هو ARP ببساطة؟
ARP اختصار لـ Address Resolution Protocol - وده البروتوكول اللي بيعمل جسْر بين عنوان الـ IP (العنوان المنطقي اللي الأجهزة بتتعامل بيه) وعنوان الـ MAC (العنوان الفيزيائي اللي الشبكة المحلية بتتعامل بيه فعلاً).ببساطة: الكمبيوتر بيتكلم بـIP، لكن لما يبقى عايز يبعث إطار داخل الـ LAN لازم يعرف MAC المرسل إليه - وARP هو اللي بيحوّل IP → MAC.
وظيفة ARP في خطوات بسيطة
- لو جهاز (A) عايز يبعت بيانات لـ (B) في نفس الشبكة ومش عارف MAC بتاعه، هيبعت رسالة ARP Request على شكل Broadcast:
"مين الجهاز اللي عنده الـ IP = 192.168.1.5؟" - الجهاز اللي عنده الـ IP ده (B) عليه يرد بـ ARP Reply مباشرة (Unicast):
"أنا 192.168.1.5 وMAC بتاعي xx:xx:xx:xx:xx:xx" - الجهاز (A) يخزن الـ MAC في جدول اسمه ARP Cache علشان لو حب يبعث تاني ما يعملش ARP من جديد كل مرة.
أنواع رسائل ARP
- ARP Request: استعلام بيتبث لكل الأجهزة في نفس الشبكة.
- ARP Reply: الرد من الجهاز الهدف بس.
جدول ARP Cache وليه مهم؟
الأجهزة بتحتفظ بالنتايج اللي اتعلمتها في ARP Cache علشان تقلل البث (broadcast) وتسرّع الاتصالات. الجدول ليه Timeout - يعني عشان ما يفضلش معلومات قديمة هتتشاف وتتشل بعد مدة.لو عايز تشوف جدول الـ ARP على جهازك (لينكس/ماك/ويندوز)، تقدر تستخدم الأوامر دي:
- على ويندوز:
arp -a
- على لينكس:
ip neigh
# أوarp -n
هجمات مرتبطة بـ ARP: إيه اللي يخوف؟
أشهر مشكلة أمنيّة اسمها ARP Spoofing أو ARP Poisoning - ودي لما جهاز خبيث يرد بإجابات ARP مزيفة، يخلي الترافيك يتوجه للجهاز المخترق بدل ما يروح للعنوان الصح. النتيجة ممكن تكون:- اعتراض بيانات (Man-in-the-Middle).
- تجميد الترافيك أو تعطيل الخدمة بين جهازين.
- إعادة توجيه المرور لمواقع مزيفة أو أدوات مراقبة.
مهم نعرف إن الهجوم ده بيكون على مستوى شبكتك المحلية، وغالبًا هدفه التجسس أو التلاعب بالترافيك داخل الـ LAN.
مثال عملي مبسّط (توضيحي مش استغلال)
تخيل:
- جهاز A: IP = 192.168.1.2, MAC = AA:AA:...
- جهاز B: IP = 192.168.1.3, MAC = BB:BB:...
لما A يعمل Ping لـ B: A هيبعت ARP Request "مين عنده 192.168.1.3؟" - B يرد ويقول MAC بتاعي BB:BB... - وA يحفظها في ARP Cache ويبعت Packet مباشرة.
لو في جهاز خبيث رَد بدل B وأعلن إنه هو صاحب الـ IP ده - الترافيك هيمشي عنده بدل B. علشان كده بنسميها ARP Poisoning لأن الـ Cache اتسمّم بمعلومة غلط.
إزاي تكتشف لو في ARP Spoofing؟
في دلائل بسيطة لو انت بتدور عليها:
- تغيّر مفاجئ في MAC المرتبط بـ IP معيّن في الـ ARP Cache.
- وجود أكثر من استجابة ARP لنفس الطلب من MACs مختلفة.
- تباطؤ أو مشاكل فجائية في الشبكة مع نشاط ARP عالي.
ممكن تستخدم أدوات مراقبة لتسجيل حركة ARP ومقارنة القيم على فترات. لو بتحب تعمل مراقبة بسيطة (لأغراض تشخيص ودفاع) تقدر تستخدم سكريبت بايثون بسيط للقراءة فقط - مثلاً كشف رُسُل ARP المارة (passive sniffing):
Python:
from scapy.all import sniff, ARP
def arp_monitor(packet):
if packet.haslayer(ARP):
op = packet[ARP].op # 1=request 2=reply
src_ip = packet[ARP].psrc
src_mac = packet[ARP].hwsrc
print(f"ARP op={op} from {src_ip} -> {src_mac}")
sniff(filter="arp", prn=arp_monitor, store=0, count=0)
إزاي تحمي شبكتك من مشاكل ARP؟
للمستخدم العادي والبيزنس الصغير:
- راجع الأذونات والأجهزة المتّصلة بالشبكة لو لقيت أي جهاز غريب افصله.
- افعل تشفير البروتوكولات الأعلى وتجنب إرسال بيانات حساسة عبر شبكات محلية غير مؤمنة.
- حدث الراوتر والسويتشات والـ firmware بانتظام.
للمؤسسات: إجراءات احترافية
- Dynamic ARP Inspection (DAI): ميزة على السويتشات بتمنع ردود ARP غير متوافقة وتتحقق من صحة العناوين قبل ما تسمح بتمرير الترافيك.
- DHCP Snooping: يجمع خرائط IP↔MAC من خوادم DHCP الموثوقة ويستخدمها للتحقق.
- Static ARP entries للأجهزة الحساسة: تثبيت عناوين MAC ثابتة لبعض الأجهزة يقلل المخاطر (لكن صعب إدارياً على شبكات كبيرة).
- Network segmentation: قسم الشبكة لجزء داخلي وحسّاس وقلّل حركة البث بين الأقسام.
أدوات مفيدة للكشف والحماية
- أدوات لرصد الحزم (Packet analyzers) زي Wireshark - لرؤية رُسُل ARP ومقارنتها.
- نظم كشف التسلل داخل الشبكة (NIDS) اللي بتراقب سلوك ARP وتنبّه لو حصل anomaly.
- تمكين الميزات الأمنية على السويتشات: DAI، Port Security، وDHCP Snooping.
نصايح سريعة أخيرة لأي مهندس شبكات أو هاوي 
- افهم إن ARP بروتوكول قديم وبسيط - وعلشان كده ليه هشاشة، لكن الفهم الجيد يخلّيك تحمي شبكتك بكفاءة.
- استخدم مزيج من الحماية على مستوى الأجهزة (firmware/update) وعلى مستوى الشبكة (DAI, DHCP snooping) وعلى مستوى المراقبة.
- خلي عندك خطة استجابة: لو اكتشفت ARP Poisoning، اعزل الجهاز المشتبه فيه، صحّح الـ ARP Cache، وراجع سجلات الشبكة.
التعديل الأخير: