WinSNMP v1traps
سؤال
أنا باستخدام 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 التفاصيل.)