使用 pysnmp 检索打印机碳粉信息

Retrieving printer toner information with pysnmp

我正在尝试从联网打印机检索打印机碳粉信息。

我找到了以下打印机耗材的参考记录 -> http://oidref.com/1.3.6.1.2.1.43.11 (OID = prtMarkerSupplies)

我尝试在以下代码中集成 OID:

from pysnmp.hlapi import *

iterator = getCmd(
    SnmpEngine(),
    CommunityData('public', mpModel=0),
    UdpTransportTarget(('here goes ip of a printer', 161)),
    ContextData(),

    ObjectType(ObjectIdentity('SNMPv2-MIB', "prtMarkerSupplies", 0))
)

errorIndication, errorStatus, errorIndex, varBinds = next(iterator)


if errorIndication:
    print(errorIndication)

elif errorStatus:
    print('%s at %s' % (errorStatus.prettyPrint(),
                        errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))

else:
    for varBind in varBinds:
        print(' = '.join([x.prettyPrint() for x in varBind]))

以上代码returns:

pysnmp.smi.error.SmiError: No symbol SNMPv2-MIB::prtMarkerSupplies at <pysnmp.smi.builder.MibBuilder object at 0x000001F8D1FC3D00>

如何使用 SNMP 协议和 pysnmp 检索碳粉信息?

检索系统信息按预期工作:

ObjectType(ObjectIdentity('SNMPv2-MIB', "sysDescr", 0))

我使用了以下线程的答案 ->

我没有遍历 getCmd,而是使用 SNMP 遍历遍历所有 OID。