سؤال

كيف يمكنني اكتشاف ما إذا كان مضيف آخر يستخدم نفس عنوان MAC الذي يستخدمه المضيف الحالي، على سبيل المثال؟لأن المضيف الآخر ينتحل؟

أنا أعمل في بيئة مدمجة، لذا أبحث عن إجابات على مستوى البروتوكول، بدلاً من "استخدام أداة كذا وكذا".

يحرر:RARP يفعل لا حل هذه المشكلة.لكي يحصل RARP على أي رد على الإطلاق، يجب أن يكون هناك مضيف واحد على الأقل في المقطع الذي يدعم RARP.نظرًا لأن RARP قديم، فإن أنظمة التشغيل الحديثة لا تدعمه.علاوة على ذلك، كل ما يمكن أن يفعله RARP هو إخبارك بعنوان IP الخاص بك - لن تكون الاستجابة مختلفة إذا كان هناك مضيف آخر على المقطع بنفس MAC، ما لم يستخدم هذا المضيف نفسه عنوان IP مختلفًا.

هل كانت مفيدة؟

المحلول

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

  • يسأل السؤال الأصلي عن كيفية اكتشاف جهاز آخر باستخدام عنوان MAC الخاص بك.على افتراض أنك على شبكة IP، ما هو المطلوب لتحقيق ذلك؟

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

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

  • إذا كان جهاز آخر ينتحلك، فهو كذلك يجب (حسب التعريف) الرد على الحزم بـ لك عنوان MAC كوجهة.وإلا فإنه التطفل لكن لا انتحال.

  • يجب أن يكون الحل مستقلاً عن عنوان IP ويتضمن عنوان MAC فقط.

  • لذا يبدو أن الإجابة ستكون إرسال حزمة بث (إيثرنت) أو حزمة بعنوان MAC الخاص بك كوجهة لها، الأمر الذي يتطلب استجابة.المشكلة الوحيدة هي أن عنوان IP عادةً ما يكون متضمنًا، وأنت لا تعرفه.

ما نوع البروتوكول الذي يناسب هذا الوصف؟

إجابة سهلة:

  • إذا كانت شبكتك تدعم BOOTP أو DHCP، فقد انتهيت، لأن هذا يربط بشكل رسمي عنوان MAC بعنوان IP.أرسل طلب BOOTP واحصل على عنوان IP وحاول التحدث إليه.قد تحتاج إلى أن تكون مبدعًا لفرض الحزمة على السلك ومنع نفسك من الاستجابة (أفكر في الاستخدام الحكيم لـ iptables وNAT).

إجابات ليست بهذه السهولة:

  • بروتوكول مستقل عن IP:إما تلك التي لا تستخدم طبقة IP، أو التي تسمح بالبث.لا شيء يتبادر إلى الذهن.

  • يرسل أي الحزمة التي عادةً ما تولد استجابة منك، وتمنع نفسك من الاستجابة، وتبحث عن استجابة من جهاز آخر.قد يبدو من المعقول استخدام عنوان IP الخاص بك كوجهة، لكنني لست مقتنعًا بذلك.لسوء الحظ، يتم ترك التفاصيل (وبالتالي الإجابة) كتمرين لـ OP ...ولكن آمل أن تكون المناقشة مفيدة.

أظن أن الحل النهائي سيتضمن مجموعة من التقنيات، حيث لا يبدو أن هناك نهجًا واحدًا يضمن قرارًا يمكن الاعتماد عليه.

بعض المعلومات متاحة على http://en.wikipedia.org/wiki/ARP_spoofing#Defenses

إذا فشل كل شيء آخر، قد تستمتع بهذا: http://www.rfc-editor.org/rfc/rfc2321.txt

لو سمحت قم بنشر متابعة مع الحل الخاص بك، وأنا متأكد من أنه سيكون مفيدًا للآخرين.حظ سعيد!

نصائح أخرى

يمكنك إرسال طلب ARP لكل عنوان IP محتمل في الشبكة الفرعية.بالطبع يجب أن يكون عنوان المصدر لطلب ARP ف:ف:ف:ف:ف:ف:فف, ، وإلا فقد لا ترى الرد.

لقد قمت بتزوير حزمة مثل هذه باستخدام bittwiste وأعدت تشغيلها باستخدام PReplay وتلقى جميع المضيفين على الشبكة الرد.(لا أعرف ما إذا كانت حزم ARP المزورة هذه قانونية أم لا...قد تتجاهلها بعض أنظمة التشغيل)

إليك ما تبدو عليه الحزمة المزورة:alt text

إليك ما بدا عليه الرد:alt text

إذا شاهدت الردود ورأيت عنوان MAC الخاص بك في إحدى الحزم (في المستطيل الأحمر)، فهذا يعني أن شخصًا ما لديه نفس عنوان MAC الذي لديك...

لسوء الحظ لم أتمكن من اختبار النظرية بشكل كامل لأنه لم يهتم أي من أجهزتي (التي تعمل بنظام Windows) بمحاولتي تعيين عنوان MAC الخاص بـ nic...

واثنين من المضيفين باستخدام نفس عنوان MAC على قطعة شبكة واحد من شأنه أن يجعل مفاتيح تذهب المكسرات وربما كنت قد الكشف عن ذلك من خلال وجود شبكة اتصال غير موثوق بها للغاية (والتبديل سترسل بعض جزء من الحزم التي تنتمي إلى المضيف الخاص بك ل ثانية واحدة، اعتمادا على أي واحد منكم إرسال الحزمة مشاركة في اتجاههم).

وهذا هو وقت متأخر جدا، وغير الجواب، ولكن أردت أن متابعة مع بالضبط ما فعلته في حال أي شخص آخر مهتم.

وكنت أعمل مع بعض الأجهزة جزءا لا يتجزأ من غريب جدا أن لا يكون لديك عنوان MAC المعين في التصنيع. وهذا يعني أننا بحاجة إلى تعيين واحد في مجال البرمجيات.

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

في النهاية أنا لجأت الى اختيار الافتراضي عشوائي العش في نطاق تدار محليا، الذي تم اختياره من خلال جعل بعض قراءات الأجهزة التي لديها الكون المعتدل. أنا تعمدت استبعاد بداية ونهاية نطاق على افتراض أن تلك هي باعتدال أكثر عرضة ليتم اختياره يدويا. وهناك احتمالات بأن لن يكون هناك سوى واحد من هذه الأجهزة على أي شبكة معينة، وبالتأكيد أقل من 20، وبالتالي فإن فرص النزاع منخفضة للغاية، وإن كان ليس منخفضا كما أنها يمكن أن يكون راجعا إلى أرقام عشوائية يمكن التنبؤ بها إلى حد ما.

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

إذا لم تقرر تنفيذ الكشف عن التعارض، ثم بالنظر إلى أن أتحكم في كومة شبكة كاملة، وأنا ربما نبحث عنها الحزم المفرطة غير معروفة أو مفقودة، ومن ثم يؤدي إلى تغيير عنوان MAC أو تحذير المستخدم عندما يحدث ذلك.

ونأمل أن يساعد شخص آخر في مكان ما - ولكن ربما ليس

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top