ARP

  • كيفية فحص الشبكة باستخدام Python

    The code you provided has an issue with indentation. In Python, indentation is crucial for defining the structure of your code, such as loops and conditional statements. The error message indicates that there is an indentation problem near the line where you define the test variable:

    python
    test = "ping -n 1 -w 500 %s.%d" % (y,i)

    To fix this error, ensure that the line above test = ... and any other lines inside the for loop are indented properly. Here’s the corrected version of your code:

    python
    from os import popen from string import split, join from re import match import subprocess import os # execute the code and pipe the result to a string rtr_table = [elem.strip().split() for elem in popen("route print").read().split("Metric\n")[1].split("\n") if match("^[0-9]", elem.strip())] #print "Active default gateway:", rtr_table[0][2] x=rtr_table[0][2] #x has a.a.a.a y = x[:x.rfind(".")] # y has a.a.a # in order to test in range of 1 to 255 for the default gateway for i in range(1,255): #ping by sending 1 packet and wait for 500 milli seconds test = "ping -n 1 -w 500 %s.%d" % (y,i) process = subprocess.Popen(test, shell=True, stdout=subprocess.PIPE) # give it time to respond process.wait() # optional check (0 --> success) #print process.returncode # read the result to a string result_str = process.stdout.read() # test it ... # print result_str #from arp we get mac address and corresponding ip address and state as we use '-a' lines=os.popen('arp -a') for line in lines: print line

    In this corrected version, the test = ... line and the subsequent lines inside the for loop are properly indented to be inside the loop. This should resolve the IndentationError you were experiencing.

    المزيد من المعلومات

    بالتأكيد! يبدو أن الكود الذي قدمته يقوم بفحص الشبكة المحلية باستخدام أدوات النظام والشبكة في نظام التشغيل. إليك شرح لبعض الجزئيات في الكود:

    1. popen("route print"): يقوم بتنفيذ أمر route print في نظام التشغيل وقراءة النتائج من الإخراج القياسي.

    2. rtr_table: يقوم بتحليل النتائج المطبوعة من route print للحصول على جدول التوجيه (Routing Table)، ويخزنها في قائمة.

    3. for i in range(1,255):: يقوم بتكرار عملية فحص الشبكة لعناوين IP في نطاق 1 إلى 254، باستخدام أمر ping لاختبار ما إذا كانت العناوين متاحة.

    4. subprocess.Popen(test, shell=True, stdout=subprocess.PIPE): يقوم بتنفيذ أمر ping في عملية فرعية ويقرأ الإخراج الناتج.

    5. os.popen('arp -a'): يقوم بتنفيذ أمر arp -a لعرض جدول ARP ويقرأ النتائج.

    6. print line: يطبع كل سطر من نتائج جدول ARP.

    يركز الكود على فحص الشبكة المحلية واسترداد معلومات حول العناوين IP وجدول التوجيه وجدول ARP.

  • ما هي البروتوكولات الشائعة المستخدمة في الاتصالات بين الأجهزة في شبكة الإنترنت؟

    ما هي البروتوكولات الشائعة المستخدمة في الاتصالات بين الأجهزة في شبكة الإنترنت؟

    TCP/IP، HTTP، HTTPS، FTP، SMTP، POP3، IMAP، DNS، SNMP، SSH، Telnet، ICMP، BGP، OSPF، RIP، ARP، DHCP، SIP، RTP.

  • ما هي أساسيات بروتوكولات الـ TCP/IP؟

    ما هي أساسيات بروتوكولات الـ TCP/IP؟

    بروتوكولات TCP/IP هي مجموعة من البروتوكولات المستخدمة في شبكات الإنترنت والشبكات المحلية. تتكون هذه البروتوكولات من عدة طبقات تعمل معًا لتمكين الاتصال وتبادل البيانات بين أجهزة الكمبيوتر. إليك الأساسيات الرئيسية لبروتوكولات TCP/IP:

    1. TCP (Transmission Control Protocol): هو بروتوكول يعتمد على اتصال موجه وموثوق به بين أجهزة الكمبيوتر. يضمن TCP تسليم البيانات بشكل موثوق وبترتيبها الصحيح.

    2. IP (Internet Protocol): هو بروتوكول مسؤول عن توجيه حزم البيانات بين الأجهزة المختلفة عبر الشبكة. يتيح IP تحديد عناوين IP لكل جهاز متصل بالشبكة.

    3. UDP (User Datagram Protocol): بروتوكول يعمل بشكل مماثل لـ TCP ولكنه يقدم خدمة غير موجهة وغير موثوق بها. يستخدم عادة لتطبيقات لا تحتاج إلى تأكيد استلام البيانات بشكل موثوق.

    4. ARP (Address Resolution Protocol): بروتوكول يستخدم للعثور على عنوان MAC الخاص بجهاز محدد عن طريق عنوان IP.

    5. ICMP (Internet Control Message Protocol): بروتوكول يستخدم لإرسال رسائل تحكم عبر الشبكة مثل رسائل الخطأ ورسائل التحقق من التواجد (Ping).

    6. DHCP (Dynamic Host Configuration Protocol): يسمح بتوزيع تلقائي لعناوين IP وإعدادات الشبكة للأجهزة المتصلة بالشبكة.

    7. DNS (Domain Name System): بروتوكول يُستخدم لتحويل أسماء المواقع إلى عناوين IP الخاصة بها.

    8. HTTP (Hypertext Transfer Protocol): يستخدم لنقل صفحات الويب والبيانات بين متصفح الويب والخوادم.

    9. FTP (File Transfer Protocol): يستخدم لنقل الملفات بين الأجهزة عبر الشبكة.

    10. SMTP (Simple Mail Transfer Protocol): يستخدم لإرسال البريد الإلكتروني من خادم البريد إلى خادم البريد الآخر.

    هذه بعض الأساسيات لبروتوكولات TCP/IP وتتعدد هذه البروتوكولات حسب التطبيقات المختلفة والخدمات التي توفرها الشبكة.

  • ما هو مفهوم الـ Routing Protocol وكيف يتم تبادل جداول التوجيه بين الأجهزة؟

    ما هو مفهوم الـ Routing Protocol وكيف يتم تبادل جداول التوجيه بين الأجهزة؟

    Routing Protocol هو بروتوكول يُستخدم في شبكات الحاسوب لتبادل معلومات التوجيه (Routing Information) بين الأجهزة الموجودة على الشبكة. هذه المعلومات تحتوي على معلومات عن مسارات الشبكة وكيفية الوصول إلى الشبكات المختلفة. يهدف Routing Protocol إلى تحديث جداول التوجيه بشكل دوري وأوتوماتيكي للسماح بتوجيه حركة المرور عبر الشبكة بطريقة فعالة وفقًا للمسارات الصحيحة.

    كيفية تبادل جداول التوجيه بين الأجهزة:

    1. Neighbor Discovery: في البداية، يقوم كل جهاز على الشبكة بتحديد الأجهزة المجاورة له والتواصل معها باستخدام بروتوكولات مثل ARP (Address Resolution Protocol) للشبكات IPv4 وNDP (Neighbor Discovery Protocol) للشبكات IPv6.

    2. تبادل معلومات التوجيه: يتم تبادل معلومات التوجيه بين الأجهزة باستخدام Routing Protocol المعتمدة في الشبكة. يمكن أن تتم عملية تبادل المعلومات بشكل دوري أو عند حدوث تغييرات في الشبكة، مثل إضافة جهاز جديد أو تغيير مسارات التوجيه.

    3. جداول التوجيه: بناءً على المعلومات المتبادلة، تقوم كل جهاز بتحديث جداول التوجيه الخاصة به. تحتوي جداول التوجيه على معلومات حول المسارات المتاحة والشبكات المرتبطة بكل واجهة شبكة.

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

    تكمن أهمية الـ Routing Protocol في تمكين شبكات الحاسوب من توجيه حركة المرور بشكل ذكي وفعال بين الأجهزة المتصلة، وبالتالي تحقيق أفضل أداء وتحسين استخدام البنية التحتية للشبكة. هناك العديد من بروتوكولات التوجيه المستخدمة في الشبكات مثل RIP (Routing Information Protocol) وOSPF (Open Shortest Path First) وBGP (Border Gateway Protocol) وغيرها، ويتم اختيار البروتوكول المناسب بناءً على حجم الشبكة ومتطلبات الأداء.

  • ما هو مفهوم الـ ARP وكيف يعمل في تحديد عنوان MAC المرتبط بعنوان IP؟

    ما هو مفهوم الـ ARP وكيف يعمل في تحديد عنوان MAC المرتبط بعنوان IP؟

    بروتوكول ARP (Address Resolution Protocol) هو بروتوكول في شبكات الحاسوب يُستخدم لتحديد عنوان الواجهة البيانات (MAC Address) المرتبط بعنوان IP لجهاز محدد في الشبكة المحلية. يعتبر ARP جزءًا أساسيًا من عملية التوجيه والتبادل السليم للبيانات في شبكة الإنترنت.

    كيف يعمل ARP في تحديد عنوان MAC المرتبط بعنوان IP؟

    عندما جهاز يحتاج إلى إرسال حزمة بيانات إلى جهاز آخر في الشبكة، يكون العملية التالية تحدث:

    1. البحث في جدول ARP: يبحث الجهاز المرسل في جدول ARP الخاص به عن عنوان IP للجهاز الهدف. إذا وجدت العنوان في الجدول، فإنه يعرف بالفعل العنوان المقابل له ولا يحتاج إلى إجراءات إضافية.

    2. إذا لم يكن العنوان في جدول ARP: إذا لم يتم العثور على العنوان المراد في جدول ARP، يقوم الجهاز المرسل بإرسال حزمة طلب ARP إلى الشبكة المحلية. يحتوي طلب ARP على عنوان IP للجهاز المستهدف الذي يحتاج إلى تحديد عنوان MAC له.

    3. الاستجابة من الجهاز المستهدف: عندما يستلم الجهاز المستهدف طلب ARP، يراجع جدوله للتحقق مما إذا كان يعرف العنوان المطلوب بالفعل. إذا كان العنوان موجودًا في جدول ARP، فإنه يقوم بإرسال رد ARP بمعلومات عنوان MAC المرتبط بهذا العنوان IP.

    4. تحديث جدول ARP: بعد تلقي الرد من الجهاز المستهدف، يقوم الجهاز المرسل بتحديث جدول ARP الخاص به بالمعلومات الجديدة ليتمكن من التواصل مباشرة مع الجهاز المستهدف في المرات اللاحقة.

    عملية ARP تساهم في إيجاد عنوان MAC المرتبط بعنوان IP بطريقة فعالة وسريعة، مما يسهل تبادل البيانات في شبكة الحاسوب.

  • ARP مـاهو بروتوكول

    هو أول بروتوكول على مستوى الشبكة هو بروتوكول تحليل العنوان (ARP). يترجم ARP بشكل ديناميكي عناوين الإنترنت إلى عناوين الأجهزة الفريدة على شبكات المنطقة المحلية.

    لتوضيح كيفية عمل ARP ، ضع في اعتبارك عقدتين ، X و Y. إذا كانت العقدة X ترغب في الاتصال بـ Y ، و X و Y على شبكات محلية (LAN) مختلفة ، فإن X و Y يتواصلان من خلال الجسور أو أجهزة التوجيه أو البوابات ، باستخدام عناوين الانترنت بروتوكول. داخل شبكة LAN ، تتواصل العقد باستخدام عناوين أجهزة منخفضة المستوى.

    تستخدم العقد الموجودة في نفس المقطع من نفس الشبكة المحلية ARP لتحديد عنوان الأجهزة للعقد الأخرى. أولاً ، تبث العقدة X طلب ARP لعنوان جهاز العقدة Y. يحتوي طلب ARP على عناوين IP والأجهزة الخاصة بـ X وعنوان IP الخاص بـ Y. عندما يتلقى Y طلب ARP ، فإنه يضع إدخالاً لـ X في ذاكرة التخزين المؤقت لـ ARP (والتي تُستخدم للتعيين بسرعة من عنوان IP إلى عنوان الجهاز) ، ثم يستجيب مباشرةً لـ X باستجابة ARP التي تحتوي على عناوين IP الخاصة بـ Y وعناوين الأجهزة. عندما تتلقى العقدة X استجابة ARP الخاصة بـ Y ، فإنها تضع إدخالاً لـ Y في ذاكرة التخزين المؤقت ARP الخاصة بها.

    بمجرد وجود إدخال ذاكرة التخزين المؤقت ARP عند X لـ Y ، تكون العقدة X قادرة على إرسال الحزم مباشرة إلى Y دون اللجوء مرة أخرى إلى ARP (ما لم يتم حذف إدخال ذاكرة التخزين المؤقت ARP لـ Y ، وفي هذه الحالة يتم إعادة استخدام ARP للاتصال بـ Y).

    ADDRESS RESOLUTION PROTOCOL POISONING (ARP POISONING)
    على عكس معظم البروتوكولات ، لا تحتوي حزم ARP على رؤوس ذات تنسيق ثابت. بدلاً من ذلك ، تم تصميم الرسالة لتكون مفيدة مع مجموعة متنوعة من تقنيات الشبكة ، مثل:

    1- محول إيثرنت LAN (يدعم كلاً من بروتوكولات إيثرنت و 802.3)
    2- محول الشبكة Token-ring
    2- محول شبكة واجهة البيانات الموزعة بالألياف (FDDI)

    ومع ذلك ، لا يترجم ARP عناوين بروتوكول واجهة الخط التسلسلي (SLIP) أو محول القناة الضوئية التسلسلي (SOC) ، لأن هذه اتصالات من نقطة إلى نقطة.
    تحتفظ النواة بجداول الترجمة ، ولا يتوفر ARP مباشرة للمستخدمين أو التطبيقات. عندما يرسل أحد التطبيقات حزمة إنترنت إلى أحد برامج تشغيل الواجهة ، يطلب برنامج التشغيل تعيين العنوان المناسب. إذا لم يكن التعيين موجودًا في الجدول ، فسيتم إرسال حزمة بث ARP من خلال برنامج تشغيل واجهة الطلب إلى المضيفين على شبكة المنطقة المحلية.
    يتم حذف الإدخالات في جدول تعيين ARP بعد 20 دقيقة ؛ يتم حذف الإدخالات غير المكتملة بعد 3 دقائق. لعمل إدخال دائم في جداول تعيين ARP ، استخدم الأمر arp مع المعلمة pub:

    arp -s 802.3 host2 0: dd: 0: a: 8s: 0 pub

    عندما يتلقى أي مضيف يدعم ARP حزمة طلب ARP ، يلاحظ المضيف عناوين IP والأجهزة للنظام الطالب ويقوم بتحديث جدول التعيين الخاص به ، إذا لزم الأمر. إذا كان عنوان IP للمضيف المستلم لا يتطابق مع العنوان المطلوب ، يتجاهل المضيف حزمة الطلب. في حالة تطابق عنوان IP ، يرسل المضيف المستلم حزمة استجابة إلى النظام الطالب. يقوم النظام الطالب بتخزين التعيين الجديد ويستخدمه لإرسال أي حزم إنترنت معلقة مماثلة.

    الخلاصة

    هو اختضار لـ Address Resolution Protocol، ويُستخدم هذا البروتوكول لمعرفة عنوان الـ Mac عن طريق الـ IP المخصص لجهاز آخر متصل عبر الشبكة.

    What Is Address Resolution Protocol (ARP) | Fortinet

    ▫ مثال لتوضيح

    لدينا الأجهزة التالية: A, B, C and D.
    الجهاز A يُريد الاتصال بالجهاز B، لكن عليه معرفة عُنوان الـ Mac الخاص بالجهاز B حتى تتم العملية، وهذا يتم عن طريق الـ ARP.
    هُنا يقوم الجهاز A بإرسال Request للــ ARP بصيغة : FF:FF:FF:FF:FF مع عنوان الـ IP الخاص بالجهاز B، فيُرسل Broadcast (الـ Broadcast هي الإرسال من نقطة “جهاز” إلى عدة نقاط “أجهزة”)، هذا الــ Broadcast يصل إلى جميع الأجهزة المرتبكة طبعاً، لكن يستقبله الجهاز B وترفضه باقي الأجهزة وتتجاهله، ثم يرد B على الجهاز A ويُرسل له عنوان الـ Mac خاصته.

     

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

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