SNMP4J - The Object Oriented SNMP API for Java Managers and Agents
SNMP4J is an enterprise class free open source and state-of-the-art SNMP implementation for Java 2SE 1.4 or later. SNMP4J supports command generation (managers) as well as command responding (agents). Its clean object oriented design is inspired by SNMP++, which is a well-known SNMPv1/v2c/v3 API for C++ (see http://www.agentpp.com).
The SNMP4J Java SNMP API provides the following features:
- SNMPv3 with MD5 and SHA authentication and DES, 3DES, AES 128, AES 192, and AES 256 privacy.
- Pluggable Message Processing Models with implementations for MPv1, MPv2c, and MPv3
- All PDU types.
- Pluggable transport mappings. UDP, TCP, and TLS are supported out-of-the-box.
- Pluggable timeout model.
- Synchronous and asynchronous requests.
- Command generator as well as command responder support.
- Free open source with the Apache license model
- Java 1.4.1 or later (1.6 for version 2.0 or later)
- Logging based on Log4J
- Row-based efficient asynchronous table retrieval with GETBULK.
- Multi-threading support.
The SNMP4J-Agent pure Java SNMP agent API adds command responder including notification originator and proxy forwarder support to the SNMP4J core API and comes with:
- Implementations for SNMP-TARGET-MIB, SNMP-NOTIFICATION-MIB, SNMP-PROXY-MIB, SNMP-FRAMEWORK-MIB, SNMPv2-MIB, SNMP-COMMUNITY-MIB, SNMP-USER-BASED-SM-MIB, SNMP-VIEW-BASED-ACM-MIB, NOTIFICATION_LOG-MIB, and SNMP-MPD-MIB, SNMP4J-PROXY-MIB, SNMP-TLS-TM-MIB, SNMP-TSM-MIB.
- SNMPv1,v2c,v3 multi-lingual agent support, including MD5 and SHA authentication as well as DES, 3DES and AES(128, 192, 256) privacy.
- IPv4/IPv6 UDP, TCP, and TLS support.
- Code generation from MIB specifications is provided through AgenPro 3 which is a language and API independent template based code generator with round-trip generation facilities.
The SNMP4J-AgentX pure Java AgentX API adds support for the AgentX 1.0 master and subagent protocol as defined by RFC 2741 and 2742. SNMP4J-AgentX extends SNMP4J-Agent by:
- Full AgentX 1.0 protocol support, including contexts, shared tables, index allocation, ping PDUs, connection timeout handling, etc.
- Implementation of the AGENTX-MIB for the master agent.
- TCP transport mapping for the AgentX protocol.
- Code generation from MIB specifications is provided through AgenPro 3 which is a language and API independent template based code generator with round-trip generation facilities (see also SNMP4J-Agent).
The SNMP4J-AgentJMX pure Java 1.5 API adds support easy descriptive mapping from JMX MBean instrumentation to SNMP scalars, tables, and notifications.
New in SNMP4J(-Agent) 2.0:
- Transport Security Model (TSM) including Transport Layer Security Transport Mapping (TLSTM) as defined by RFC 5343, 5590, 5591, 5953.
- Java SE 1.6 or later, including Generics and System.nanoTime() support.