inexio / snmpclitools

Pure-Python SNMP management tools

Home Page:https://snmplabs.thola.io/snmpclitools/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Command-line SNMP tools

PyPI Python Versions Build status GitHub license

This is a collection of command-line SNMP tools written in pure-Python. The tools mimic their famous Net-SNMP counterparts.

In the past this project was known as pysnmp-apps.

Why this fork?

Original project by Ilya Etingof seems not to be continued anymore. Because of that, we try to maintain / enhance Command-line SNMP tools.

Features

  • Complete SNMPv1/v2c and SNMPv3 support
  • Interface compatible (almost) with Net-SNMP's snmp* tools.
  • SNMPv3 USM supports MD5/SHA/SHA224/SHA256/SHA384/SHA512 auth and DES/3DES/AES128/AES192/AES256 privacy crypto algorithms
  • Automatically downloads required MIBs from the Internet
  • Runs over IPv4 and/or IPv6 transports
  • Cross-platform: works on Linux, Windows and OS X.
  • 100% Python, works with Python 2.4 up to Python 3.7

Download

The snmpclitools package is distributed under terms and conditions of 2-clause BSD license. Source code is freely available as a Github repo.

Installation

Download snmpclitools from PyPI or just run:

$ pip install snmpclitools

How to use the tools

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.

You can play with different security protocols against the publicly available SNMP agent like this one @snmplabs.com.

Getting help

If something does not work as expected, please open up a GitHub issue or post your question to Stack Overflow.

Feedback and collaboration

I'm interested in bug reports, fixes, suggestions and improvements. Your pull requests are very welcome!

If you want to contact us, please mail to the Thola Team

Copyright (c) 2005-2019, Ilya Etingof. All rights reserved.

About

Pure-Python SNMP management tools

https://snmplabs.thola.io/snmpclitools/

License:BSD 2-Clause "Simplified" License


Languages

Language:Python 98.2%Language:Shell 1.8%