snmp++开发snmpv3注意事项


1、v3_MP = new v3MP(engineID, snmpEngineBoots, construct_status)

     engineID是开发者自己随意设置,无影响

 

2、pdu.set_context_name (contextName);
     pdu.set_context_engine_id(contextEngineID);

    contextEngineID和contextName是指代理端的要访问的上下方和引擎id。

    我在用交换机做测试时,发现这两个参数都设置为空即可,调用get等相关操作时,snmp++会从代理端获取代理的引擎id,并设置到这个值。直接设置成代理引擎id,也没问题。

 

3、get操作可以一次获取一个或多个项的值(如系统名)

     set操作可以一次设置一个或多个项的值(如系统名)

     getnext操作可以顺序获取一个或多个指定项的值(如路由表),一次操作返回一个或多个请求项的值,循环操作可顺序取出表中一个或多个请求项的值,直到返回的oid不是请求的oid的子树为止

     getbulk操作可以批量取出指定一个或多个项值,non_repeaters指定开头的多少项是get操作,max_reps指定后续的几项以getnext操作的最大次数。 假定指定m项,non_repeaters为n,max_reps为l,则最后取得的结果数: n + (m-n)*l

     trap和inform都是代理通知管理端,trap无应答无重发,inform有应答,超时重发。

4、get/set/getnext/getbulk操作时,add_usm_user的参数要与代理端的配置相一致;管理端接收trap/inform时,代理端要有与管理端add_usm_user的参数相一致的用户及相关配置

     USM *usm = v3_MP->get_usm();
     usm->add_usm_user(securityName,
                                    authProtocol, privProtocol,
                                    authPassword, privPassword);

   

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM