如何在pysnmp中走到oids
How to walk between to oids in 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。
那么我怎样才能使用这种语法在 oid 之间行走而不是行走整个 mib table?
如果您的 cbFun_Mac_Address() returns 为真,pysnmp 将继续走同一个代理。如果你的回调函数 returns 为 False,pysnmp 将立即停止行走。所以你的回调函数应该观察最终的 OID 到达然后 return False。参见 this example。
下面提到的例子:
如果换行:
if val is not None and varBindHead[idx] <= name:
至:
if val is not None and varBindHead[idx] == name[0:len(varBindHead[idx])]:
你完全匹配你想走过的分支。
我有以下代码:
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。
那么我怎样才能使用这种语法在 oid 之间行走而不是行走整个 mib table?
如果您的 cbFun_Mac_Address() returns 为真,pysnmp 将继续走同一个代理。如果你的回调函数 returns 为 False,pysnmp 将立即停止行走。所以你的回调函数应该观察最终的 OID 到达然后 return False。参见 this example。
下面提到的例子:
如果换行:
if val is not None and varBindHead[idx] <= name:
至:
if val is not None and varBindHead[idx] == name[0:len(varBindHead[idx])]:
你完全匹配你想走过的分支。