سؤال

أنا باستخدام WinSNMP في c++ إرسال snmp.من أجل التوافق انا المطلوبة لإرسال v1 snmp.WinSNMP يعمل مع v2 الفخاخ بل هو قادر على تحويل هذه v2 الفخاخ v1 عند إرسال الفخ.يمكنني استخدام SnmpSetTranslateMode(SNMPAPI_UNTRANSLATED_V1) من أجل القيام بذلك.أود أيضا أن أضيف sysUpTime oid (1.3.6.1.2.1.1.3.0) ، snmpTrapOID (1.3.6.1.6.3.1.1.4.1.0) في بداية الارتباطات القائمة enterpriseOID (1.3.6.1.6.3.1.1.4.3.0) في نهاية الارتباطات القائمة تجعل من الممكن إرسال v1 الفخاخ.

كل شيء يسير على ما يرام ما عدا اثنين (ربما ذات الصلة) الأشياء.

على agent-addr الميدانية في فخ دائما إلى 0.0.0.0 (حاولت إضافة snmpTrapAddress oid(1.3.6.1.6.3.18.1.3.0) إلى الارتباطات القائمة ولكن ذلك لم ينجح).وأود في هذا المجال أن تحتوي على عنوان Ip المصدر.

المشكلة الثانية هي أن على الرغم من أنني تحديد عنوان IP و المنفذ في HSNMP_ENTITY مع SnmpStrToEntity و SnmpSetPort وأنا استخدم هذا HSNMP_ENTITY في SnmpSendMsg وظيفة فخ لا يزال يحصل إرسال من منفذ آخر (في مكان ما في المنافذ الحيوية المدى).

هل هناك أي شخص هنا لديه فكرة عن كيفية إصلاح هذا أو الذين يمكن أن تخبرني إذا كان هذا ممكنا

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

المحلول

زوجين من الأفكار:

  • على agent-addr قد يتم تعيين عنوان IP من محول شبكة الاتصال من قبل الطبقة السفلى.هل هناك خيار لربط معين واحد محول مع SNMP?

  • لماذا تحتاج إلى تعيين منفذ المصدر عن الفخ ؟ SNMP فقط يتطلب هذا الفخ يتم إرسالها إلى منفذ UDP 162;المصدر هو غير ذي صلة إلا المحددة الخاصة بك تطبيق متطلبات إضافية.(راجع RFC 1067 على SNMP التفاصيل.)

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