First, install pysnmp using
pip install pysnmp
On the Netgear GS710TUP
, I enabled SNMPv3 without encryption/privacy but with SHA1 authentication as already outlined in our previous article Simple SNMPv3 client example for Netgear GS710TUP:
Using pysnmp, you can query the device like this (using the standard admin password which you also use to login to the router:
#!/usr/bin/env python3 import pysnmp.hlapi as snmp iterator = snmp.getCmd( snmp.SnmpEngine(), snmp.UsmUserData('admin', 'SWITCH_ADMIN_PASSWORD', authProtocol=snmp.usmHMACSHAAuthProtocol, privProtocol=snmp.usmNoPrivProtocol), snmp.UdpTransportTarget(('SWITCH_IP_ADDRESS', 161)), snmp.ContextData(), snmp.ObjectType(snmp.ObjectIdentity('SNMPv2-MIB', 'sysDescr', 0)) ) errorIndication, errorStatus, errorIndex, varBinds = next(iterator) if errorIndication: print(errorIndication) elif errorStatus: idx = int(errorIndex) - 1 location = errorIndex and varBinds[idx][0] or '?' print(f"{errorStatus.prettyPrint()} at {location}") else: # Success for varBind in varBinds: print(' = '.join([x.prettyPrint() for x in varBind]))
Example output:
SNMPv2-MIB::sysDescr.0 = GS710TUP 10-Port Gigabit Ethernet Ultra60 PoE++ Smart Managed Pro Switch (480W), Software Version 1.0.5.9, Boot Version 1.0.0.9