0

pysnmp を使用して Avaya 電話からいくつかの文字列を取得しようとしています

from pysnmp.entity.rfc3413.oneliner import cmdgen
cmdGen = cmdgen.CommandGenerator()
errorIndication, errorStatus, errorIndex, varBinds = cmdGen.getCmd(
    cmdgen.CommunityData('public'),
    cmdgen.UdpTransportTarget(('<ipaddr>', 161)),
    '1.3.6.1.4.1.6889.2.69.3.1.43.0',
    '1.3.6.1.4.1.6889.2.69.3.1.45.0',
    '1.3.6.1.4.1.6889.2.69.3.1.46.0',
    '1.3.6.1.4.1.6889.2.69.3.1.42.0',
    '1.3.6.1.4.1.6889.2.69.3.6.6.0'
)

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

しかし、私はこれを取得します:

SNMPv2-SMI::enterprises.6889.2.69.3.1.43.0 = B0:AD:AA
SNMPv2-SMI::enterprises.6889.2.69.3.1.45.0 = B0:AD:AA:
SNMPv2-SMI::enterprises.6889.2.69.3.1.46.0 = B0:AD:AA:3D:
SNMPv2-SMI::enterprises.6889.2.69.3.1.42.0 = B0:AD:AA:3D:3D:3C
SNMPv2-SMI::enterprises.6889.2.69.3.6.6.0 = 4

snmpwalk を使用すると問題なく動作します

[root@hostname ~]# snmpwalk -cpublic -v2c <ipaddr> 1.3.6.1.4.1.6889.2.69.3.1.43.0
SNMPv2-SMI::enterprises.6889.2.69.3.1.43.0 = STRING: "1608D01A"
[root@hostname ~]# snmpwalk -cpublic -v2c <ipaddr> 1.3.6.1.4.1.6889.2.69.3.1.45.0
SNMPv2-SMI::enterprises.6889.2.69.3.1.45.0 = STRING: "700458532"
[root@hostname ~]# snmpwalk -cpublic -v2c <ipaddr> 1.3.6.1.4.1.6889.2.69.3.1.46.0
SNMPv2-SMI::enterprises.6889.2.69.3.1.46.0 = STRING: "14WZ09370467"
[root@hostname ~]# snmpwalk -cpublic -v2c <ipaddr> 1.3.6.1.4.1.6889.2.69.3.1.42.0
SNMPv2-SMI::enterprises.6889.2.69.3.1.42.0 = STRING: "B0:AD:AA:3D:3D:3C"
[root@hostname ~]# snmpwalk -cpublic -v2c <ipaddr> 1.3.6.1.4.1.6889.2.69.3.6.6.0
SNMPv2-SMI::enterprises.6889.2.69.3.6.6.0 = INTEGER: 4

なぜうまくいかず、どうすれば修正できますか? 私はpython 2.7.11とpysnmp 4.3.1を使用しています

4

0 に答える 0