Python SNMP GetBulk - 多个 OID

发布于 2024-11-04 18:55:25 字数 1045 浏览 0 评论 0原文

我需要使用 PySNMP 的 GetBulk 实现来查询表 OID 列表。我能够让它查询 1 个表 OID,但无法让它从列表中读取表 OID。我做错了什么?请帮忙。

from pysnmp.entity.rfc3413.oneliner import cmdgen  

errorIndication, errorStatus, errorIndex, \  
varBindTable = cmdgen.CommandGenerator().bulkCmd(  
            cmdgen.CommunityData('test-agent', 'public'),  
            cmdgen.UdpTransportTarget(('localhost', 161)),  
            0,   
            25,  
            (1,3,6,1,2,1,4,20) # ipAddrTable OID . This works fine.
            # I also want to query .1.3.6.1.2.1.4.21 ipRouteTable in the same command  
            # Putting is as ( (1,3,6,1,2,1,4,20), (1,3,6,1,2,1,4,21) )  gives an error
        )

if errorIndication:
   print errorIndication
else:
    if errorStatus:
    print '%s at %s\n' % (
        errorStatus.prettyPrint(),
        errorIndex and varBindTable[-1][int(errorIndex)-1] or '?'
        )
else:
    for varBindTableRow in varBindTable:
        for name, val in varBindTableRow:
            print '%s = %s' % (name.prettyPrint(), val.prettyPrint())

I need to use PySNMP's GetBulk implementation to query for a list of Table OIDs. I was able to get it to query for 1 Table OID, but unable to get it to read the Table OIDs from a list. What am I doing wrong? Please help.

from pysnmp.entity.rfc3413.oneliner import cmdgen  

errorIndication, errorStatus, errorIndex, \  
varBindTable = cmdgen.CommandGenerator().bulkCmd(  
            cmdgen.CommunityData('test-agent', 'public'),  
            cmdgen.UdpTransportTarget(('localhost', 161)),  
            0,   
            25,  
            (1,3,6,1,2,1,4,20) # ipAddrTable OID . This works fine.
            # I also want to query .1.3.6.1.2.1.4.21 ipRouteTable in the same command  
            # Putting is as ( (1,3,6,1,2,1,4,20), (1,3,6,1,2,1,4,21) )  gives an error
        )

if errorIndication:
   print errorIndication
else:
    if errorStatus:
    print '%s at %s\n' % (
        errorStatus.prettyPrint(),
        errorIndex and varBindTable[-1][int(errorIndex)-1] or '?'
        )
else:
    for varBindTableRow in varBindTable:
        for name, val in varBindTableRow:
            print '%s = %s' % (name.prettyPrint(), val.prettyPrint())

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

残花月 2024-11-11 18:55:25

我认为这就是你想要的...

errorIndication, errorStatus, errorIndex, \
varBindTable = cmdgen.CommandGenerator().bulkCmd(
            cmdgen.CommunityData('test-agent', 'public'),
            cmdgen.UdpTransportTarget(('localhost', 161)),
            0,
            25,
            (1,3,6,1,2,1,4,20), # ipAddrTable
            (1,3,6,1,2,1,4,21), # ipRouteTable
        )

编辑

使用

[mpenning@hotcoffee ~]$ cat sn_GetBulk.py 
from pysnmp.entity.rfc3413.oneliner import cmdgen  

errorIndication, errorStatus, errorIndex, \
varBindTable = cmdgen.CommandGenerator().bulkCmd(  
            cmdgen.CommunityData('test-agent', 'public'),  
            cmdgen.UdpTransportTarget(('192.168.49.49', 161)),  
            0, 
            25, 
            (1,3,6,1,2,1,4,20), # ipAddrTable OID . This works fine.
            (1,3,6,1,2,1,4,21), # ipRouteTable
            (1,3,6,1,2,1,4,22), # ipNetToMediaTable
        )

if errorIndication:
   print errorIndication
else:
    if errorStatus:
        print '%s at %s\n' % (
            errorStatus.prettyPrint(),
            errorIndex and varBindTable[-1][int(errorIndex)-1] or '?'
            )
    else:
        for varBindTableRow in varBindTable:
            for name, val in varBindTableRow:
                print '%s = %s' % (name.prettyPrint(), val.prettyPrint())

[mpenning@hotcoffee ~]$

我收到...

[mpenning@hotcoffee ~]$ python sn_GetBulk.py
1.3.6.1.2.1.4.20.1.1.128.0.0.1 = 128.0.0.1
1.3.6.1.2.1.4.22.1.1.34.192.168.49.1 = 34
1.3.6.1.2.1.4.22.1.1.34.192.168.49.1 = 34
1.3.6.1.2.1.4.20.1.1.128.0.0.16 = 128.0.0.16
1.3.6.1.2.1.4.22.1.1.34.192.168.49.49 = 34
1.3.6.1.2.1.4.22.1.1.34.192.168.49.49 = 34
1.3.6.1.2.1.4.20.1.1.128.0.0.32 = 128.0.0.32
1.3.6.1.2.1.4.22.1.1.38.128.0.0.1 = 38
1.3.6.1.2.1.4.22.1.1.38.128.0.0.1 = 38
1.3.6.1.2.1.4.20.1.1.128.0.0.127 = 128.0.0.127
1.3.6.1.2.1.4.22.1.1.38.128.0.0.16 = 38
1.3.6.1.2.1.4.22.1.1.38.128.0.0.16 = 38
1.3.6.1.2.1.4.20.1.1.192.168.49.49 = 192.168.49.49
1.3.6.1.2.1.4.22.1.1.38.128.0.0.32 = 38
1.3.6.1.2.1.4.22.1.1.38.128.0.0.32 = 38
1.3.6.1.2.1.4.20.1.2.128.0.0.1 = 38
1.3.6.1.2.1.4.22.1.1.502.128.0.0.127 = 502
1.3.6.1.2.1.4.22.1.1.502.128.0.0.127 = 502
1.3.6.1.2.1.4.20.1.2.128.0.0.16 = 38
1.3.6.1.2.1.4.22.1.2.34.192.168.49.1 = '\x00"V\xb8\x1c\xbf'
1.3.6.1.2.1.4.22.1.2.34.192.168.49.1 = '\x00"V\xb8\x1c\xbf'
1.3.6.1.2.1.4.20.1.2.128.0.0.32 = 38
1.3.6.1.2.1.4.22.1.2.34.192.168.49.49 = ',k\xf54=?'
1.3.6.1.2.1.4.22.1.2.34.192.168.49.49 = ',k\xf54=?'
1.3.6.1.2.1.4.20.1.2.128.0.0.127 = 502
1.3.6.1.2.1.4.22.1.2.38.128.0.0.1 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.22.1.2.38.128.0.0.1 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.20.1.2.192.168.49.49 = 34
1.3.6.1.2.1.4.22.1.2.38.128.0.0.16 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.22.1.2.38.128.0.0.16 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.20.1.3.128.0.0.1 = 192.0.0.0
1.3.6.1.2.1.4.22.1.2.38.128.0.0.32 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.22.1.2.38.128.0.0.32 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.20.1.3.128.0.0.16 = 192.0.0.0
1.3.6.1.2.1.4.22.1.2.502.128.0.0.127 = ',k\xf54=\x00'
1.3.6.1.2.1.4.22.1.2.502.128.0.0.127 = ',k\xf54=\x00'
1.3.6.1.2.1.4.20.1.3.128.0.0.32 = 192.0.0.0
1.3.6.1.2.1.4.22.1.3.34.192.168.49.1 = 192.168.49.1
1.3.6.1.2.1.4.22.1.3.34.192.168.49.1 = 192.168.49.1
1.3.6.1.2.1.4.20.1.3.128.0.0.127 = 192.0.0.0
1.3.6.1.2.1.4.22.1.3.34.192.168.49.49 = 192.168.49.49
1.3.6.1.2.1.4.22.1.3.34.192.168.49.49 = 192.168.49.49
1.3.6.1.2.1.4.20.1.3.192.168.49.49 = 255.255.255.0
1.3.6.1.2.1.4.22.1.3.38.128.0.0.1 = 128.0.0.1
1.3.6.1.2.1.4.22.1.3.38.128.0.0.1 = 128.0.0.1
1.3.6.1.2.1.4.20.1.4.128.0.0.1 = 1
1.3.6.1.2.1.4.22.1.3.38.128.0.0.16 = 128.0.0.16
1.3.6.1.2.1.4.22.1.3.38.128.0.0.16 = 128.0.0.16
1.3.6.1.2.1.4.20.1.4.128.0.0.16 = 1
1.3.6.1.2.1.4.22.1.3.38.128.0.0.32 = 128.0.0.32
1.3.6.1.2.1.4.22.1.3.38.128.0.0.32 = 128.0.0.32
1.3.6.1.2.1.4.20.1.4.128.0.0.32 = 1
1.3.6.1.2.1.4.22.1.3.502.128.0.0.127 = 128.0.0.127
1.3.6.1.2.1.4.22.1.3.502.128.0.0.127 = 128.0.0.127
1.3.6.1.2.1.4.20.1.4.128.0.0.127 = 1
1.3.6.1.2.1.4.22.1.4.34.192.168.49.1 = 3
1.3.6.1.2.1.4.22.1.4.34.192.168.49.1 = 3
1.3.6.1.2.1.4.20.1.4.192.168.49.49 = 1
1.3.6.1.2.1.4.22.1.4.34.192.168.49.49 = 4
1.3.6.1.2.1.4.22.1.4.34.192.168.49.49 = 4
1.3.6.1.2.1.4.20.1.5.128.0.0.1 = 65535
1.3.6.1.2.1.4.22.1.4.38.128.0.0.1 = 4
1.3.6.1.2.1.4.22.1.4.38.128.0.0.1 = 4
1.3.6.1.2.1.4.20.1.5.128.0.0.16 = 65535
1.3.6.1.2.1.4.22.1.4.38.128.0.0.16 = 4
1.3.6.1.2.1.4.22.1.4.38.128.0.0.16 = 4
1.3.6.1.2.1.4.20.1.5.128.0.0.32 = 65535
1.3.6.1.2.1.4.22.1.4.38.128.0.0.32 = 4
1.3.6.1.2.1.4.22.1.4.38.128.0.0.32 = 4
1.3.6.1.2.1.4.20.1.5.128.0.0.127 = 65535
1.3.6.1.2.1.4.22.1.4.502.128.0.0.127 = 4
1.3.6.1.2.1.4.22.1.4.502.128.0.0.127 = 4
1.3.6.1.2.1.4.20.1.5.192.168.49.49 = 65535
1.3.6.1.2.1.4.23.0 = 0
1.3.6.1.2.1.4.23.0 = 0
1.3.6.1.2.1.4.22.1.1.34.192.168.49.1 = 34
1.3.6.1.2.1.4.24.3.0 = 6
1.3.6.1.2.1.4.24.3.0 = 6
1.3.6.1.2.1.4.22.1.1.34.192.168.49.49 = 34
1.3.6.1.2.1.4.24.4.1.1.192.168.0.0.255.255.0.0.0.192.168.49.1 = 192.168.0.0
1.3.6.1.2.1.4.24.4.1.1.192.168.0.0.255.255.0.0.0.192.168.49.1 = 192.168.0.0
1.3.6.1.2.1.4.22.1.1.38.128.0.0.1 = 38
1.3.6.1.2.1.4.24.4.1.1.192.168.49.0.255.255.255.0.0.0.0.0.0 = 192.168.49.0
1.3.6.1.2.1.4.24.4.1.1.192.168.49.0.255.255.255.0.0.0.0.0.0 = 192.168.49.0
1.3.6.1.2.1.4.22.1.1.38.128.0.0.16 = 38
1.3.6.1.2.1.4.24.4.1.1.192.168.49.49.255.255.255.255.0.0.0.0.0 = 192.168.49.49
1.3.6.1.2.1.4.24.4.1.1.192.168.49.49.255.255.255.255.0.0.0.0.0 = 192.168.49.49
1.3.6.1.2.1.4.22.1.1.38.128.0.0.32 = 38
1.3.6.1.2.1.4.24.4.1.1.224.0.0.2.255.255.255.255.0.0.0.0.0 = 224.0.0.2
1.3.6.1.2.1.4.24.4.1.1.224.0.0.2.255.255.255.255.0.0.0.0.0 = 224.0.0.2
1.3.6.1.2.1.4.22.1.1.502.128.0.0.127 = 502
1.3.6.1.2.1.4.24.4.1.1.224.0.0.13.255.255.255.255.0.0.0.0.0 = 224.0.0.13
1.3.6.1.2.1.4.24.4.1.1.224.0.0.13.255.255.255.255.0.0.0.0.0 = 224.0.0.13
1.3.6.1.2.1.4.22.1.2.34.192.168.49.1 = '\x00"V\xb8\x1c\xbf'
1.3.6.1.2.1.4.24.4.1.1.224.0.0.22.255.255.255.255.0.0.0.0.0 = 224.0.0.22
1.3.6.1.2.1.4.24.4.1.1.224.0.0.22.255.255.255.255.0.0.0.0.0 = 224.0.0.22
1.3.6.1.2.1.4.22.1.2.34.192.168.49.49 = ',k\xf54=?'
1.3.6.1.2.1.4.24.4.1.2.192.168.0.0.255.255.0.0.0.192.168.49.1 = 255.255.0.0
1.3.6.1.2.1.4.24.4.1.2.192.168.0.0.255.255.0.0.0.192.168.49.1 = 255.255.0.0
1.3.6.1.2.1.4.22.1.2.38.128.0.0.1 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.24.4.1.2.192.168.49.0.255.255.255.0.0.0.0.0.0 = 255.255.255.0
1.3.6.1.2.1.4.24.4.1.2.192.168.49.0.255.255.255.0.0.0.0.0.0 = 255.255.255.0
1.3.6.1.2.1.4.22.1.2.38.128.0.0.16 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.24.4.1.2.192.168.49.49.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.24.4.1.2.192.168.49.49.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.22.1.2.38.128.0.0.32 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.24.4.1.2.224.0.0.2.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.24.4.1.2.224.0.0.2.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.22.1.2.502.128.0.0.127 = ',k\xf54=\x00'
1.3.6.1.2.1.4.24.4.1.2.224.0.0.13.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.24.4.1.2.224.0.0.13.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.22.1.3.34.192.168.49.1 = 192.168.49.1
1.3.6.1.2.1.4.24.4.1.2.224.0.0.22.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.24.4.1.2.224.0.0.22.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.22.1.3.34.192.168.49.49 = 192.168.49.49
1.3.6.1.2.1.4.24.4.1.3.192.168.0.0.255.255.0.0.0.192.168.49.1 = 0
1.3.6.1.2.1.4.24.4.1.3.192.168.0.0.255.255.0.0.0.192.168.49.1 = 0
1.3.6.1.2.1.4.22.1.3.38.128.0.0.1 = 128.0.0.1
1.3.6.1.2.1.4.24.4.1.3.192.168.49.0.255.255.255.0.0.0.0.0.0 = 0
1.3.6.1.2.1.4.24.4.1.3.192.168.49.0.255.255.255.0.0.0.0.0.0 = 0
1.3.6.1.2.1.4.22.1.3.38.128.0.0.16 = 128.0.0.16
1.3.6.1.2.1.4.24.4.1.3.192.168.49.49.255.255.255.255.0.0.0.0.0 = 0
1.3.6.1.2.1.4.24.4.1.3.192.168.49.49.255.255.255.255.0.0.0.0.0 = 0
[mpenning@hotcoffee ~]$ python
Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pysnmp
>>> pysnmp.version
(4, 1, 16)
>>>

I think this is what you want...

errorIndication, errorStatus, errorIndex, \
varBindTable = cmdgen.CommandGenerator().bulkCmd(
            cmdgen.CommunityData('test-agent', 'public'),
            cmdgen.UdpTransportTarget(('localhost', 161)),
            0,
            25,
            (1,3,6,1,2,1,4,20), # ipAddrTable
            (1,3,6,1,2,1,4,21), # ipRouteTable
        )

EDIT

Using

[mpenning@hotcoffee ~]$ cat sn_GetBulk.py 
from pysnmp.entity.rfc3413.oneliner import cmdgen  

errorIndication, errorStatus, errorIndex, \
varBindTable = cmdgen.CommandGenerator().bulkCmd(  
            cmdgen.CommunityData('test-agent', 'public'),  
            cmdgen.UdpTransportTarget(('192.168.49.49', 161)),  
            0, 
            25, 
            (1,3,6,1,2,1,4,20), # ipAddrTable OID . This works fine.
            (1,3,6,1,2,1,4,21), # ipRouteTable
            (1,3,6,1,2,1,4,22), # ipNetToMediaTable
        )

if errorIndication:
   print errorIndication
else:
    if errorStatus:
        print '%s at %s\n' % (
            errorStatus.prettyPrint(),
            errorIndex and varBindTable[-1][int(errorIndex)-1] or '?'
            )
    else:
        for varBindTableRow in varBindTable:
            for name, val in varBindTableRow:
                print '%s = %s' % (name.prettyPrint(), val.prettyPrint())

[mpenning@hotcoffee ~]$

I receive...

[mpenning@hotcoffee ~]$ python sn_GetBulk.py
1.3.6.1.2.1.4.20.1.1.128.0.0.1 = 128.0.0.1
1.3.6.1.2.1.4.22.1.1.34.192.168.49.1 = 34
1.3.6.1.2.1.4.22.1.1.34.192.168.49.1 = 34
1.3.6.1.2.1.4.20.1.1.128.0.0.16 = 128.0.0.16
1.3.6.1.2.1.4.22.1.1.34.192.168.49.49 = 34
1.3.6.1.2.1.4.22.1.1.34.192.168.49.49 = 34
1.3.6.1.2.1.4.20.1.1.128.0.0.32 = 128.0.0.32
1.3.6.1.2.1.4.22.1.1.38.128.0.0.1 = 38
1.3.6.1.2.1.4.22.1.1.38.128.0.0.1 = 38
1.3.6.1.2.1.4.20.1.1.128.0.0.127 = 128.0.0.127
1.3.6.1.2.1.4.22.1.1.38.128.0.0.16 = 38
1.3.6.1.2.1.4.22.1.1.38.128.0.0.16 = 38
1.3.6.1.2.1.4.20.1.1.192.168.49.49 = 192.168.49.49
1.3.6.1.2.1.4.22.1.1.38.128.0.0.32 = 38
1.3.6.1.2.1.4.22.1.1.38.128.0.0.32 = 38
1.3.6.1.2.1.4.20.1.2.128.0.0.1 = 38
1.3.6.1.2.1.4.22.1.1.502.128.0.0.127 = 502
1.3.6.1.2.1.4.22.1.1.502.128.0.0.127 = 502
1.3.6.1.2.1.4.20.1.2.128.0.0.16 = 38
1.3.6.1.2.1.4.22.1.2.34.192.168.49.1 = '\x00"V\xb8\x1c\xbf'
1.3.6.1.2.1.4.22.1.2.34.192.168.49.1 = '\x00"V\xb8\x1c\xbf'
1.3.6.1.2.1.4.20.1.2.128.0.0.32 = 38
1.3.6.1.2.1.4.22.1.2.34.192.168.49.49 = ',k\xf54=?'
1.3.6.1.2.1.4.22.1.2.34.192.168.49.49 = ',k\xf54=?'
1.3.6.1.2.1.4.20.1.2.128.0.0.127 = 502
1.3.6.1.2.1.4.22.1.2.38.128.0.0.1 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.22.1.2.38.128.0.0.1 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.20.1.2.192.168.49.49 = 34
1.3.6.1.2.1.4.22.1.2.38.128.0.0.16 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.22.1.2.38.128.0.0.16 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.20.1.3.128.0.0.1 = 192.0.0.0
1.3.6.1.2.1.4.22.1.2.38.128.0.0.32 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.22.1.2.38.128.0.0.32 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.20.1.3.128.0.0.16 = 192.0.0.0
1.3.6.1.2.1.4.22.1.2.502.128.0.0.127 = ',k\xf54=\x00'
1.3.6.1.2.1.4.22.1.2.502.128.0.0.127 = ',k\xf54=\x00'
1.3.6.1.2.1.4.20.1.3.128.0.0.32 = 192.0.0.0
1.3.6.1.2.1.4.22.1.3.34.192.168.49.1 = 192.168.49.1
1.3.6.1.2.1.4.22.1.3.34.192.168.49.1 = 192.168.49.1
1.3.6.1.2.1.4.20.1.3.128.0.0.127 = 192.0.0.0
1.3.6.1.2.1.4.22.1.3.34.192.168.49.49 = 192.168.49.49
1.3.6.1.2.1.4.22.1.3.34.192.168.49.49 = 192.168.49.49
1.3.6.1.2.1.4.20.1.3.192.168.49.49 = 255.255.255.0
1.3.6.1.2.1.4.22.1.3.38.128.0.0.1 = 128.0.0.1
1.3.6.1.2.1.4.22.1.3.38.128.0.0.1 = 128.0.0.1
1.3.6.1.2.1.4.20.1.4.128.0.0.1 = 1
1.3.6.1.2.1.4.22.1.3.38.128.0.0.16 = 128.0.0.16
1.3.6.1.2.1.4.22.1.3.38.128.0.0.16 = 128.0.0.16
1.3.6.1.2.1.4.20.1.4.128.0.0.16 = 1
1.3.6.1.2.1.4.22.1.3.38.128.0.0.32 = 128.0.0.32
1.3.6.1.2.1.4.22.1.3.38.128.0.0.32 = 128.0.0.32
1.3.6.1.2.1.4.20.1.4.128.0.0.32 = 1
1.3.6.1.2.1.4.22.1.3.502.128.0.0.127 = 128.0.0.127
1.3.6.1.2.1.4.22.1.3.502.128.0.0.127 = 128.0.0.127
1.3.6.1.2.1.4.20.1.4.128.0.0.127 = 1
1.3.6.1.2.1.4.22.1.4.34.192.168.49.1 = 3
1.3.6.1.2.1.4.22.1.4.34.192.168.49.1 = 3
1.3.6.1.2.1.4.20.1.4.192.168.49.49 = 1
1.3.6.1.2.1.4.22.1.4.34.192.168.49.49 = 4
1.3.6.1.2.1.4.22.1.4.34.192.168.49.49 = 4
1.3.6.1.2.1.4.20.1.5.128.0.0.1 = 65535
1.3.6.1.2.1.4.22.1.4.38.128.0.0.1 = 4
1.3.6.1.2.1.4.22.1.4.38.128.0.0.1 = 4
1.3.6.1.2.1.4.20.1.5.128.0.0.16 = 65535
1.3.6.1.2.1.4.22.1.4.38.128.0.0.16 = 4
1.3.6.1.2.1.4.22.1.4.38.128.0.0.16 = 4
1.3.6.1.2.1.4.20.1.5.128.0.0.32 = 65535
1.3.6.1.2.1.4.22.1.4.38.128.0.0.32 = 4
1.3.6.1.2.1.4.22.1.4.38.128.0.0.32 = 4
1.3.6.1.2.1.4.20.1.5.128.0.0.127 = 65535
1.3.6.1.2.1.4.22.1.4.502.128.0.0.127 = 4
1.3.6.1.2.1.4.22.1.4.502.128.0.0.127 = 4
1.3.6.1.2.1.4.20.1.5.192.168.49.49 = 65535
1.3.6.1.2.1.4.23.0 = 0
1.3.6.1.2.1.4.23.0 = 0
1.3.6.1.2.1.4.22.1.1.34.192.168.49.1 = 34
1.3.6.1.2.1.4.24.3.0 = 6
1.3.6.1.2.1.4.24.3.0 = 6
1.3.6.1.2.1.4.22.1.1.34.192.168.49.49 = 34
1.3.6.1.2.1.4.24.4.1.1.192.168.0.0.255.255.0.0.0.192.168.49.1 = 192.168.0.0
1.3.6.1.2.1.4.24.4.1.1.192.168.0.0.255.255.0.0.0.192.168.49.1 = 192.168.0.0
1.3.6.1.2.1.4.22.1.1.38.128.0.0.1 = 38
1.3.6.1.2.1.4.24.4.1.1.192.168.49.0.255.255.255.0.0.0.0.0.0 = 192.168.49.0
1.3.6.1.2.1.4.24.4.1.1.192.168.49.0.255.255.255.0.0.0.0.0.0 = 192.168.49.0
1.3.6.1.2.1.4.22.1.1.38.128.0.0.16 = 38
1.3.6.1.2.1.4.24.4.1.1.192.168.49.49.255.255.255.255.0.0.0.0.0 = 192.168.49.49
1.3.6.1.2.1.4.24.4.1.1.192.168.49.49.255.255.255.255.0.0.0.0.0 = 192.168.49.49
1.3.6.1.2.1.4.22.1.1.38.128.0.0.32 = 38
1.3.6.1.2.1.4.24.4.1.1.224.0.0.2.255.255.255.255.0.0.0.0.0 = 224.0.0.2
1.3.6.1.2.1.4.24.4.1.1.224.0.0.2.255.255.255.255.0.0.0.0.0 = 224.0.0.2
1.3.6.1.2.1.4.22.1.1.502.128.0.0.127 = 502
1.3.6.1.2.1.4.24.4.1.1.224.0.0.13.255.255.255.255.0.0.0.0.0 = 224.0.0.13
1.3.6.1.2.1.4.24.4.1.1.224.0.0.13.255.255.255.255.0.0.0.0.0 = 224.0.0.13
1.3.6.1.2.1.4.22.1.2.34.192.168.49.1 = '\x00"V\xb8\x1c\xbf'
1.3.6.1.2.1.4.24.4.1.1.224.0.0.22.255.255.255.255.0.0.0.0.0 = 224.0.0.22
1.3.6.1.2.1.4.24.4.1.1.224.0.0.22.255.255.255.255.0.0.0.0.0 = 224.0.0.22
1.3.6.1.2.1.4.22.1.2.34.192.168.49.49 = ',k\xf54=?'
1.3.6.1.2.1.4.24.4.1.2.192.168.0.0.255.255.0.0.0.192.168.49.1 = 255.255.0.0
1.3.6.1.2.1.4.24.4.1.2.192.168.0.0.255.255.0.0.0.192.168.49.1 = 255.255.0.0
1.3.6.1.2.1.4.22.1.2.38.128.0.0.1 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.24.4.1.2.192.168.49.0.255.255.255.0.0.0.0.0.0 = 255.255.255.0
1.3.6.1.2.1.4.24.4.1.2.192.168.49.0.255.255.255.0.0.0.0.0.0 = 255.255.255.0
1.3.6.1.2.1.4.22.1.2.38.128.0.0.16 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.24.4.1.2.192.168.49.49.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.24.4.1.2.192.168.49.49.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.22.1.2.38.128.0.0.32 = '\x00\x0b\xca\xfe\x00\x00'
1.3.6.1.2.1.4.24.4.1.2.224.0.0.2.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.24.4.1.2.224.0.0.2.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.22.1.2.502.128.0.0.127 = ',k\xf54=\x00'
1.3.6.1.2.1.4.24.4.1.2.224.0.0.13.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.24.4.1.2.224.0.0.13.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.22.1.3.34.192.168.49.1 = 192.168.49.1
1.3.6.1.2.1.4.24.4.1.2.224.0.0.22.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.24.4.1.2.224.0.0.22.255.255.255.255.0.0.0.0.0 = 255.255.255.255
1.3.6.1.2.1.4.22.1.3.34.192.168.49.49 = 192.168.49.49
1.3.6.1.2.1.4.24.4.1.3.192.168.0.0.255.255.0.0.0.192.168.49.1 = 0
1.3.6.1.2.1.4.24.4.1.3.192.168.0.0.255.255.0.0.0.192.168.49.1 = 0
1.3.6.1.2.1.4.22.1.3.38.128.0.0.1 = 128.0.0.1
1.3.6.1.2.1.4.24.4.1.3.192.168.49.0.255.255.255.0.0.0.0.0.0 = 0
1.3.6.1.2.1.4.24.4.1.3.192.168.49.0.255.255.255.0.0.0.0.0.0 = 0
1.3.6.1.2.1.4.22.1.3.38.128.0.0.16 = 128.0.0.16
1.3.6.1.2.1.4.24.4.1.3.192.168.49.49.255.255.255.255.0.0.0.0.0 = 0
1.3.6.1.2.1.4.24.4.1.3.192.168.49.49.255.255.255.255.0.0.0.0.0 = 0
[mpenning@hotcoffee ~]$ python
Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pysnmp
>>> pysnmp.version
(4, 1, 16)
>>>
绅刃 2024-11-11 18:55:25

试试这个......它可能会起作用

# GETBULK Command Generator
from pysnmp.entity.rfc3413.oneliner import cmdgen
Cn=2
Cr=5
errorIndication, errorStatus, errorIndex, \
                 varBindTable = cmdgen.CommandGenerator().bulkCmd(
    # SNMP v2
    cmdgen.CommunityData('test-agent', 'public'),
    cmdgen.UdpTransportTarget(('ip-addr', 161)),
    Cn, Cr,
    'oid1','oid2','oid3','oid4'
   )
row=[]
if errorIndication:
    print errorIndication
else:
    if errorStatus:
        print '%s at %s\n' % (
        errorStatus.prettyPrint(),
        errorIndex and varBindTable[-1][int(errorIndex)-1] or '?'
        )
    else:
        non_Rep=varBindTable.pop(0)
        for name, val in non_Rep:
            print '%s = %s' % (name.prettyPrint(), val.prettyPrint())
            row.append((name.prettyPrint(), val.prettyPrint()))
        for varBindTableRow in varBindTable:
            varBindTableRow=varBindTableRow[Cn:]
            for name, val in varBindTableRow:
                print '%s = %s' % (name.prettyPrint(), val.prettyPrint())
                row.append((name.prettyPrint(), val.prettyPrint()))
        print row

Try this...it might work

# GETBULK Command Generator
from pysnmp.entity.rfc3413.oneliner import cmdgen
Cn=2
Cr=5
errorIndication, errorStatus, errorIndex, \
                 varBindTable = cmdgen.CommandGenerator().bulkCmd(
    # SNMP v2
    cmdgen.CommunityData('test-agent', 'public'),
    cmdgen.UdpTransportTarget(('ip-addr', 161)),
    Cn, Cr,
    'oid1','oid2','oid3','oid4'
   )
row=[]
if errorIndication:
    print errorIndication
else:
    if errorStatus:
        print '%s at %s\n' % (
        errorStatus.prettyPrint(),
        errorIndex and varBindTable[-1][int(errorIndex)-1] or '?'
        )
    else:
        non_Rep=varBindTable.pop(0)
        for name, val in non_Rep:
            print '%s = %s' % (name.prettyPrint(), val.prettyPrint())
            row.append((name.prettyPrint(), val.prettyPrint()))
        for varBindTableRow in varBindTable:
            varBindTableRow=varBindTableRow[Cn:]
            for name, val in varBindTableRow:
                print '%s = %s' % (name.prettyPrint(), val.prettyPrint())
                row.append((name.prettyPrint(), val.prettyPrint()))
        print row
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文