Here is a set of SNMP applications written on top of pysnmp library. Some of these tools mimic their famous Net-SNMP counterparts, while the rest are designed to ease integration with other Python applications.
- Complete SNMPv1/v2c and SNMPv3 support
- Interface compatible (almost) with Net-SNMP's snmp* tools.
- Automatically downloads required MIBs from the Internet
- Cross-platform: work on Linux, Windows and OS X.
- 100% Python, works with Python 2.4 up to Python 3.5
The pysnmp-apps package is distributed under terms and conditions of 2-clause BSD license. Source code is freely available as a Github repo.
Download pysnmp-apps from PyPI or just run:
$ pip install pysnmp-apps
The most of pysnmp command-line tools could be run in a similar way as their Net-SNMP counterparts. For example:
$ snmpbulkwalk.py -v3 -u usr-md5-des -l authPriv -A authkey1 -X privkey1 demo.snmplabs.com system
SNMPv2-MIB::sysDescr.0 = DisplayString: Linux grommit 3.5.11.1 #2 PREEMPT Tue Mar 1 14:03:24 MSD 2016 i686 unknown unknown GNU/Linux
SNMPv2-MIB::sysObjectID.0 = ObjectIdentifier: iso.org.dod.internet.private.enterprises.8072.3.2.101.3.6.1.4.1.8072.3.2.10
SNMPv2-MIB::sysUpTime.0 = TimeTicks: 43 days 1:55:47.85372214785
[ skipped ]
SNMPv2-MIB::sysORUpTime."8" = TimeStamp: 0 days 0:0:0.77
SNMPv2-MIB::sysORUpTime."9" = TimeStamp: 0 days 0:0:0.77
$ snmpget.py -v3 -u usr-sha-aes -l authPriv -A authkey1 -X privkey1 demo.snmplabs.com IP-MIB::ipAdEntBcastAddr.\"127.0.0.1\"
IP-MIB::ipAdEntBcastAddr."127.0.0.1" = Integer32: 1
$ snmpset.py -v2c -c public demo.snmplabs.com SNMPv2-MIB::sysDescr.0 = my-new-descr
notWritable(17)
For more information, please, run any of these tools with --help option.
If something does not work as expected, try browsing PySNMP mailing list archives or post your question to Stack Overflow.
I'm interested in bug reports, fixes, suggestions and improvements. Your pull requests are very welcome!
Copyright (c) 2005-2016, Ilya Etingof. All rights reserved.