2015-05-25 28 views
0

我有下面的代碼的OID間遊走:如何pysnmp

cmdGen = cmdgen.AsynCommandGenerator() 
    cmdGen.asyncNextCmd(
     cmdgen.CommunityData('public', mpModel=0), 
     cmdgen.UdpTransportTarget((ip, 161)), 
     ((1,3,6,1,2,1,2,2,1,6,1),),#walks from this oid until end of mib table 
     (cbFun_Mac_Address, (cmdgen.CommunityData('public', mpModel=0), cmdgen.UdpTransportTarget((ip, 161))))) 
cmdGen.snmpEngine.transportDispatcher.runDispatcher() 

我想兩個OID,之間行走(例如1,3,6,1,2,1,2,2, 1,6,1 - 1,3,6,1,2,1,2,2,1,6,9),但此代碼從(1,3,6,1,2,1,2,2) ,1,6,1)直到找到最後一個oid。
那麼我怎麼能走之間的oids和不使用這種語法走整個mib表?

回答

1

如果您的cbFun_Mac_Address()返回True,則pysnmp將繼續走同一個代理。如果您的回調函數返回False,則pysnmp將立即停止步行。所以你的回調函數應該注意最後的OID到達並返回False。見this example