如何在pysnmp中遍历到oids

2024-05-16 12:20:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

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,2,1,6,9),但这段代码从(1,3,6,1,2,1,2,2,1,6,1)一直运行到最后一个oid。
那么,如何使用这种语法在OID之间来回走动而不遍历整个mib表呢?在


Tags: 代码fromippublicthismiboidwalks
2条回答

在下面提到的例子中:

http://pysnmp.sourceforge.net/examples/current/v3arch/oneliner/manager/cmdgen/getnext-async-multiple-transports-and-protocols.html

如果您换行:

 if val is not None and varBindHead[idx] <= name:

收件人:

^{pr2}$

你完全符合你想要穿过的树枝。在

如果cbFun_Mac_Address()返回True,则pysnmp将继续遍历同一个代理。如果回调函数返回False,pysnmp将立即停止运行。所以回调函数应该注意最后一个OID的到达,然后返回False。见this example。在

相关问题 更多 >