كيفية تأكيد ما إذا كان التطبيق قد تلقى حزمة

StackOverflow https://stackoverflow.com/questions/7371662

  •  28-10-2019
  •  | 
  •  

سؤال

شككي غريب ..

ينتظر تطبيق خادم DHCP على خادم Linux الخاص بي المنفذ رقم 547 لرسائل عميل dhcp.

على الرغم من أنني أرى رسائل من عميل dhcp على wireshark (يعمل على خادم Linux) .. خادم dhcp لا يرد مرة أخرى.

هل هناك على أي حال لتأكيد معالجة الحزمة فعليًا بواسطة خادم dhcp أو إسقاطها بين حزمة Linux ip stack؟

خادم DHCP هو رمز مملوك لذلك لا يمكنني تعديله لإضافة المزيد من السجلات أو التحقق من وظيفة الاستلام.

فقط اعتبره سؤالًا عامًا يعتمد على المقابس بدلاً من DHCP المحدد.اهتمامي هو كيف يمكننا أن نعرف من الإحصائيات أو الأشياء الأخرى أن الحزمة قد تم استلامها في مخازن مأخذ توصيل مناسبة.

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

المحلول

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

ومع ذلك ، سأحاول أولاً التعامل مع الاحتمالات المعتادة ، وهي رسائل السجل.هل حاولت تنشيط تسجيل التصحيح في برنامج DHCP الخفي حتى الآن؟

نصائح أخرى

إذا قمت بتشغيل strace على خادم dhcp ولم تحصل على أي شيء مرة أخرى من التحديد ، فمن المحتمل ألا يتلقى الإطار. هناك أمران يجب التحقق منهما

  • هل أنت متأكد من أن العميل يرسل طلبات IPv6 DHCP بدلاً من IPv4 (المنفذ 67)؟
  • تأكد من عدم سماع أي عملية أخرى على المنفذ 547 على الخادم.

أعد فحص خيارات سطر أوامر strace ومكّن التصحيح والإسهاب.هناك شيء آخر يجب التأكد منه عند استخدام الدعامة وهو اتباع الشوكات ... -Ff

أتمنى أن يساعدك ذلك

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