SNMP
C/C++
5_ENTRIES- net-snmp
A suite of software for using and deploying the SNMP protocol (v1, v2c and v3 and the AgentX subagent protocol). Contains also Python bindings.
- SNMP++
BSD licensed SNMP implemention from HP. Supports SNMP v1/2c/v3, thread-safety, and many more.
- AGENT++
The AGENT++ C++ framework provides a complete tri-lingual SNMP v1/2c/3 protocol engine and dispatcher for the development of SNMP agents. Apache licensed.
- AgentX++
The AgentX++ C++ framework provides a complete AgentX protocol (RFC 2741) implementation that adds AgentX master and sub-agent support to AGENT++ (
Commercial). - openSNMP
BSD licensed multi-threaded implementation of SNMPv3.
C#
3_ENTRIES- C# SNMP Library
MIT licensed SNMP library for .NET with extensive SNMP standard support, latest .NET platform targets, as well as rich manager/agent samples.
- SNMP Pro
Commercial extension that adds enterprise MIB support.
- SnmpSharpNet
Simple Network Management Protocol (SNMP) .Net library written in C# (csharp). Implements protocol version 1, 2 and 3.
Erlang
1_ENTRIES- Erlang/OTP SNMP
SNMP development is included as a component of the Erlang/Open Telecom Platform development environment.
Go
3_ENTRIES- gosnmp/gosnmp
An SNMP library written in Go. It provides Get, GetNext, GetBulk, Walk, BulkWalk, Set and Traps. It supports IPv4/IPv6, using SNMP v1/v2c/v3.
- sleepinggenius2/gosmi
MIB parser in Go language.
- posteo/go-agentx
A library with a pure Go implementation of the AgentX-Protocol.
Java
5_ENTRIES- SNMP4J
SNMP4J is an enterprise class, free open source, and state-of-the-art SNMP v1/2c/v3 implementation for Javaβ’.
- SNMP4J-Agent
SNMP4J-Agent is a Javaβ’ API on top of the core SNMP4J API for the development of SNMP agents (command responders).
- joeSNMP
joeSNMP is an open-source Java SNMP class library published under the LGPL.
- Westhawk's SNMP
An open-sourced Java library that can be used for SNMP v1/v2c/v3. Supports traps, authentication and privacy. As authentication protocols it offers MD5 and SHA1.
- mibble
Mibble is an open-source SNMP MIB (or SMI) parser library for Java.
JavaScript
4_ENTRIES- node-net-snmp
JavaScript implementation of the Simple Network Management Protocol (SNMP), implements versions 1, 2c and 3.
- node-snmp-native
Native JavaScript SNMP library for Node.js.
- node-snmpjs
This package provides a toolkit for SNMP agents and management applications in Node.js.
- snmp-node
Native JavaScript SNMP library for Node.js.
Lua
1_ENTRIES- luasnmp
Lua binding to net-snmp library.
PHP
3_ENTRIES- php.net/SNMP
This is an SNMP extension for PHP, which is a wrapper around the net-snmp library.
- FreeDSx/SNMP
A Pure PHP SNMP Library.
- opensolutions/OSS_SNMP
A PHP SNMP library for people who hate SNMP, MIBs and OIDs!
Python
12_ENTRIES- pysnmp
This is a pure-Python, open source and free implementation of v1/v2c/v3 SNMP engine distributed under 2-clause BSD license.This project is derived from the original repo.
- pysmi
PySMI is a pure-Python implementation of SNMP SMI MIB parser.This project is derived from the original repo.
- gufo_snmp
The accelerated Python SNMP client library supporting both async and synchronous mode. It consists of a clean Python API for high-efficient BER parser and socket IO, implemented in the Rust language with PyO3 wrapper. Seems to be a bit early in the project's lifecycle, but it is easy to use and extremely fast, especially when querying many devices.
- net-snmp Python bindings
Net-SNMP 5.4 and later contains Python bindings in the "python" sub-directory, though, they are not built by default.
- easysnmp
A fork of net-snmp Python bindings that attempts to bring a more Pythonic interface to the library.
- puresnmp
Pure Python3 SNMPv2 library without any dependencies.
- snimpy
Snimpy is a Python-based tool providing a simple interface to build SNMP query.
- python-netsnmpagent
This package allows to write net-snmp subagents in Python.
- hnmp
HNMP is a high-level Python library to ease the pain of retrieving and processing data from SNMP-capable devices such as network switches, routers, and printers.
- aiosnmp
Python package aiosnmp is an asynchronous SNMP client for use with asyncio. Only SNMP v2c is supported.
- robotframework-snmplibrary
SNMPLibrary is a Robot Framework test library for testing SNMP.
Ruby
1_ENTRIES- ruby-netsnmp
SNMP library in ruby (v1, v2c, v3).
Rust
3_ENTRIES- snmp-parser
SNMP parser written in rust with nom parser combinator framework.
- davedufresne/modern_snmp
Modern SNMP is a pure-Rust library for SNMPv3. This repository includes snmp_mp (SNMPv3 Message Processing) and snmp_usm (Implementation of the User-based Security Model (USM) for SNMPv3) crates.
- Svedrin/sunt
This repository implements an SNMP Agent written in Rust.
CLIs
14_ENTRIES- net-snmp tools
The applications listed here are part of net-snmp.encode_keychange - Produces the KeyChange string for SNMPv3.snmptranslate - Translates MIB OID names between numeric and textual forms.snmpget - Communicates with a network entity using SNMP GET requests.snmpgetnext - Communicates witβ¦
- SNMP4JCLT
Use the SNMP4J Command Line Tool (CLT) to send SNMPv1/v2c/v3 requests and traps to a target with IPv4 or v6 based UDP, TCP, or TLSv1,2 transport (
Commercial). - libsmi tools
Applications built on top of libsmi and an sh/awk script that are integrated with the libsmi distribution.smilint - This is used to check MIB or PIB modules for syntax errors and semantics at some degree. SMIv1/v2 style MIB modules as well as SPPI PIB modules are supported.smidump - This is a MIB/PIB compiler. It allows to dump the contents of a module in various formats: SMIvβ¦
- snmpsim
This is a pure-Python, open source and free implementation of SNMP agents simulator distributed under 2-clause BSD license.
- snmpfwd
The SNMP Proxy Forwarder tool works as an application-level proxy with a built-in SNMP message router. Typical use case for an SNMP proxy is to work as an application-level firewall or a protocol translator that enables SNMPv3 access to a SNMPv1/SNMPv2c entity or vice versa.
- snmpclitools
This is a collection of command-line SNMP tools written in pure-Python. The tools mimic their famous Net-SNMP counterparts. It includes snmpget.py, snmpset.py, snmpwalk.py, snmpbulkwalk.py, snmptrap.py, and snmptranslate.py, see here for more details.
- hatlord/snmpwn
An SNMPv3 User Enumerator and Attack tool.
- trapperkeeper
A suite of tools for ingesting and displaying SNMP traps. This is designed as a replacement for snmptrapd and to supplement existing stateful monitoring solutions.
- SNMP Trap Translator
SNMPTT (SNMP Trap Translator) is an SNMP trap handler written in Perl for use with the Net-SNMP / UCD-SNMP snmptrapd program (www.net-snmp.org).snmptt - SNMPTT (SNMP Trap Translator) is an SNMP trap handler written in Perl for use with the Net-SNMP / UCD-SNMP snmptrapd program (www.net-snmp.org). SNMPTT supports Linux, Unix and Windows.snmpttconvert β¦
- prometheus/snmp_exporter
This exporter is the recommended way to expose SNMP data in a format which Prometheus can ingest.
- trailofbits/onesixtyone
Fast SNMP Scanner.
- SECFORCE/SNMP-Brute
Fast SNMP brute force, enumeration, CISCO config downloader and password cracking script.
- zabbix-tools/mib2zabbix
This Perl script will generate a Zabbix v3 Template in XML format from an OID tree in a SNMP MIB file.
- OIDrage
A lightweight standalone SNMPd mimic server based on any snmpwalk output. Easily scales to mock thousands of servers.
GUIs
11_ENTRIES- tkmib
A perl/Tk interactive graphical MIB browser for SNMP.
- agentpp/MIB Designer
Use MIB Designer to create, edit, manage, and explore SMI specifications (
Commercial). - agentpp/MIB Explorer Pro
Use MIB Explorer to browse, configure, test&debug, monitor, and discover SNMPv1/2c/3 entities.
- sharpsnmp/SNMP Pro
A family of .NET based SNMP products, including the commercial MIB Compiler, MIB Assembly, and the open source Library.
- paessler/snmptester
This tool enables you to debug SNMP activities to find communication and/or data issues in SNMP monitoring configurations. Windows.
- ireasoning/MIB Browser
This tool allows users to load standard, proprietary MIBs, and even some mal-formed MIBs. It also allows them to issue SNMP requests to retrieve agent's data, or make changes to the agent. Free for personal use.
- ireasoning/SNMP Agent Simulator
Free SNMP Agent Simulator Java based application that can simulate SNMPv1/v2c/v3 agents.
- Visual SNMP
Visual SNMP is a simple tool for testing access to SNMP agents. Currently SNMPGET and SNMPWALK are supported with some limited funcionality.
- muonics/Online MIB validator
Free online MIB/PIB Validator based on MIB Smithy SDK.
- toni-moreno/snmpcollector
SnmpCollector is a full featured Generic SNMP data collector with Web Administration Interface Open Source tool which has as main goal simplify the configuration for getting data from any device which snmp protocol support and send resulting data to an influxdb backend.
- Unbrowse SNMP
Unbrowse SNMP is a tool that helps to compile cryptic MIB files into an easy GUI view, retrieve and set MIB variables on devices, import snmpwalk dumps, receive traps, chart counters, and much more.
Books
6_ENTRIES- The Networknomicon, or SNMP Mastery by Abdul Alhazred and Michael W. Lucas
The Simple Network Management Protocol, SNMP, empowers you to invoke ancient standards from the void. SNMP exposes the secrets of your network and servers, and--if you're careless--reconfigures them into unspeakable nightmares. It exposes your inadequate brain to the vast alien dimensions underlying modern computing.
- SNMP Mastery by Michael W. Lucas
SNMP, Simple Network Management Protocol, Four lies in one acronym?
- SNMP MIB Handbook by Larry Walsh
Essential Guide to SNMP MIB Development, Use, and Diagnosis.
- Mauro, D. and Schmidt, K., 2005. Essential SNMP: Help for System and Network Administrators. " O'Reβ¦
Essential SNMP explores both commercial and open source packages, and elements like OIDs, MIBs, community strings, and traps are covered in depth. The book contains five new chapters and various updates throughout.
- Snmp, Snmpv2, Snmpv3, and Rmon 1 and 2 by William Stallings
Presents a concise, focused & practical guide to SNMP-based network & internetwork management for network administrators, managers, & designers.
- Perkins, D. and McGinnis, E., 1997. Understanding SNMP MIBs (p. 528). Englewood Cliffs: Prentice Haβ¦
The first complete, practical insider's guide to writing SNMP MIBs.
RFCs
22_ENTRIES- rfc1098
A Simple Network Management Protocol (version 1).
- rfc1155
Structure and Identification of Management Information.
- rfc2578
Structure of Management Information Version 2 (SMIv2).
- rfc2741
Agent Extensibility (AgentX) Protocol Version 1.
- rfc2742
Definitions of Managed Objects for Extensible SNMP Agents.
- rfc3410
Introduction and Applicability Statements for Internet Standard Management Framework.
- rfc3411
An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks.
- rfc3412
Message Processing and Dispatching for the Simple Network Management Protocol (SNMP).
- rfc3413
Simple Network Management Protocol (SNMP) Applications.
- rfc3414
User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3).
- rfc3415
View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP).
- rfc3416
Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP).
- rfc3417
Transport Mappings for the Simple Network Management Protocol (SNMP).
- rfc3418
Management Information Base (MIB) for the Simple Network Management Protocol (SNMP).
- rfc3584
Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework.
- rfc3826
The Advanced Encryption Standard (AES) Cipher Algorithm in the SNMP User-based Security Model.
- rfc4088
Uniform Resource Identifier (URI) Scheme for the Simple Network Management Protocol (SNMP).
- rfc5343
Simple Network Management Protocol (SNMP) Context EngineID Discovery.
- rfc5590
Transport Subsystem for the Simple Network Management Protocol (SNMP).
- rfc5591
Transport Subsystem for the Simple Network Management Protocol (SNMP).
- rfc5592
Secure Shell Transport Model for the Simple Network Management Protocol (SNMP).
- rfc7630
HMAC-SHA-2 Authentication Protocols in the User-based Security Model (USM) for SNMPv3.
Tutorials
1_ENTRIES- net-snmp tutorials
This Wiki page contains various tutorials ranging from the basics of SNMP protocol to implementation of SNMP applications and agents using net-snmp library.
Public servers
1_ENTRIES- snmp.ireasoning.com
Free public an SNMP agent for testing purpose.
MIB repositories
7_ENTRIES- hsnodgrass/snmp_mib_archive
An archive of over 3000 unique SNMP MIBs.
- kcsinclair/mibs
Another collection of MIBS used for SNMP. Make sure to clone the repository to see the full list of MIBs.
- mibdepot.com
mibDepot is a free service to the SNMP community and offers a dictionary of MIBs and a unique-in-the-industry Search Engine with over 12,000 SNMP MIBs representing over 1,800,000 MIB object definitions.
- oid-info.com
This OID repository gathers information about Object Identifiers (OIDs), and provides tools to display, update and search for this information.
- michaelfmcnamara.com
Hand-curated list of MIBs by Michael McNamara.
- snmplink.org/OnLineMIB
This website shows documentation of a set of MIBs with a built-in MIB viewer.OnLineMIB/Standards - Standard: (ATM Forum, IANA, RFC) - RFC1065-5324.OnLineMIB/Cisco - Cisco.OnLineMIB/Juniper - Juniper.OnLineMIB/Extreme - Extreme.OnLineMIB/Brocade - Brocade.
- oidview.com/mibs
This repository contains over 7000 unique MIBs from various vendors.
Miscellaneous
2_ENTRIESItems that belong on the list but difficult to classify.
- SNMPLink.org
SNMPlink.org provides links and information about SNMP, MIB (Management Information Base), Network Management and Network Monitoring.
- SNMPTools.net
SNMPTools.net provides links and information about SNMP applications, toolkits, gateways, simulators, MIB browsers and many more.