Works out of the box.
- if you’re fine with AES128-Encryption.
AES256 might not be a requirement in all cases, but having the opportunity to choose seems to be not absolutely absurd in 2017… Good news: The NetSNMP-AES192/256-patch is on the way.
EasySNMP installation and usage
I’d like to refer to Linux: SNMP with Python for the basics.
IOS-Config: VIEW/GROUP/USER
Take the opportunity and leverage SMP-Views to limit access to several SNMP-OIDs.
snmp-server view SV_EASYSNMP interfaces included snmp-server view SV_EASYSNMP ciscoCdpMIB included snmp-server view SV_EASYSNMP ciscoCBQosMIB included ip access-list standard ACL_SNMP permit 192.168.2.89 snmp-server group SG_EASYSNMP v3 auth read SV_EASYSNMP access ACL_SNMP snmp-server user EASYSNMP SG_EASYSNMP v3 auth sha AUTHPASS priv aes 128 PRIVPASS
EasySNMP: „Session“-Object with SNMPv3-Credentials
Find the official docs here: EasySNMP Session-API
Security level could be:
- no_auth_or_privacy
- If you want to use the user-based authentication without need for security
- auth_without_privacy
- Authentication only might be „good enough“ when traffic is fully kept within a management network
- auth_with_privacy
Authentication-Procol:
- MD5
- SHA
Privacy-Protocol:
- AES
- AES128
- DES, 3DES
- For very outdated devices
Create the Session-Object
>>> session3 = Session(hostname='192.168.2.72', version=3, security_level="auth_with_privacy", security_username="EASYSNMP", auth_protocol="SHA", auth_password="AUTHPASS", privacy_protocol="AES", privacy_password="PRIVPASS")
Use this „session“ as before.
>>> session3.walk("1.3.6.1.4.1.9.9.166.1.15.1.1.2") [<SNMPVariable value='9' (oid='enterprises.9.9.166.1.15.1.1.2.18.65536', oid_index='', snmp_type='COUNTER')>, <SNMPVariable value='0' (oid='enterprises.9.9.166.1.15.1.1.2.18.131072', oid_index='', snmp_type='COUNTER')>, <SNMPVariable value='6039' (oid='enterprises.9.9.166.1.15.1.1.2.18.196608', oid_index='', snmp_type='COUNTER')>, <SNMPVariable value='0' (oid='enterprises.9.9.166.1.15.1.1.2.34.65536', oid_index='', snmp_type='COUNTER')>, <SNMPVariable value='0' (oid='enterprises.9.9.166.1.15.1.1.2.34.131072', oid_index='', snmp_type='COUNTER')>, <SNMPVariable value='0' (oid='enterprises.9.9.166.1.15.1.1.2.34.196608', oid_index='', snmp_type='COUNTER')>]