Awesome SNMP 
Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behaviour.
This is a curated list of awesome SNMP libraries, tools, and other resources. Contributions are welcome!
Contents
- Libraries
- C/C++
- C#
- Erlang
- Go
- Java
- JavaScript
- Lua
- PHP
- Python
- Ruby
- Rust
- Tools
- CLIs
- GUIs
- Publications
- Books
- RFCs
- Tutorials
- Public servers
- MIB repositories
- Miscellaneous
Libraries
Helpful to write SNMP applications.
C/C++
- 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
- 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
- Erlang/OTP SNMP - SNMP development is included as a component of the Erlang/Open Telecom Platform development environment.
Go
- 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
- 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
- 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
- luasnmp - Lua binding to net-snmp library.
PHP
- 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!