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