[Python] Ciphering services not available error on pysnmp v3 walk

Discussão em 'Python' iniciado por Stack, Setembro 27, 2024.

  1. Stack

    Stack Membro Participativo

    I can run this command from the command line:

    snmpwalk -v3 -m +MY-MIB-ROOT -m +MY-MIB -l authPriv -u MYUSER -a SHA -A "XXXXXXXX" -x AES -X "XXXXXXXX" 1.2.3.4 .1.3.6.1.4.1.52330.6.1.2


    I am trying to implement the same command in a python script using pysnmp:

    import asyncio
    from pysnmp.hlapi.v3arch.asyncio import *
    from pysnmp.smi import builder, view, compiler
    import logging
    logging.basicConfig(level=logging.DEBUG)

    # snmpwalk -v3 -m +MY-MIB-ROOT -m +MY-MIB -l authPriv -u MYUSER -a SHA -A "XXXXXXXX" -x AES -X "XXXXXXXX" 1.2.3.4 .1.3.6.1.4.1.52330.6.1.2


    # Load MIBs
    mibBuilder = builder.MibBuilder()
    compiler.addMibCompiler(mibBuilder, sources=['file:///usr/share/snmp/mibs'])
    mibViewController = view.MibViewController(mibBuilder)

    loadedModules = mibBuilder.mibSymbols.keys()
    print("loadedModules:", loadedModules)

    async def run(varBinds):
    snmpEngine = SnmpEngine()
    while True:
    print("A")
    errorIndication, errorStatus, errorIndex, varBindTable = await bulkCmd(
    snmpEngine,
    UsmUserData(
    'MYUSER',
    'XXXXXXXX',
    'XXXXXXXX',
    authProtocol=usmHMACSHAAuthProtocol,
    privProtocol=usmAesCfb128Protocol,
    ),
    await UdpTransportTarget.create(('1.2.3.4', 161)),
    ContextData(),
    0,
    50,
    *varBinds
    )
    if errorIndication:
    print(errorIndication)
    break
    elif errorStatus:
    print(
    f"{errorStatus.prettyPrint()} at {varBinds[int(errorIndex) - 1][0] if errorIndex else '?'}"
    )
    else:
    for varBind in varBindTable:
    oid = varBind.__getitem__(0)
    print(oid)
    varBinds = varBindTable
    if isEndOfMib(varBinds):
    break
    return

    asyncio.run(
    run([ObjectType(ObjectIdentity('1.3.6.1.4.1.52330.6.1.2'))])
    )



    I get this error:

    Ciphering services not available


    I am running the script within a virtual environment on Red Hat Enterprise Linux release 9.4 (Plow)

    $ pip list
    Package Version
    ------------------ ---------
    certifi 2024.8.30
    charset-normalizer 3.3.2
    idna 3.10
    Jinja2 3.1.4
    MarkupSafe 2.1.5
    pip 24.2
    ply 3.11
    pyasn1 0.6.1
    pycryptodomex 3.20.0
    pysmi 1.5.0
    pysnmp 7.1.4
    requests 2.32.3
    setuptools 53.0.0
    urllib3 2.2.3

    Continue reading...

Compartilhe esta Página