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.
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.