AGENTPP SNMP software is dedicated to make the simple in Simple Network Management Protocol come true for developing SNMP agents and applications (Java/C++) as well as authoring (SMI) MIBs. Our software packages achieve this objective by a clear and true object oriented design and implementation.

Standard conformance, long term maintainability, and usability are leading goals for any AGENTPP development. As a matter of course, all security relevant APIs are available as open source for maximum transparancy.

Try out for yourself the ease of creating reliable, maintainable, and secure SNMP solutions for your business in less time with a fair and reasonable licensing! You will recognize the difference like many users did before. Particularly, they appreciate the assistance they get through the public accessible AGENTPP forum launch (mailing lists archives launch) as well as the commercial support packages.

 

 

Tools: SNMP / SMI+PIB

AgenPro

SNMP Code Generation from MIB Specifications

 

Generate Java and C++ SNMP agents from a set of MIBs within a few minutes. Get high quality code really fast! Automate your SNMP implementation with roundtrip engineering, live preview with code diff,  and fully customizable templates now.

AgenPro is the most advanced and flexible code generation software available for SNMP development today. It has an open-source code generation back-end which gives the user full control about format, scope, target API, and even programming language of the generated code. A built-in SNMPv1/v2c/v3 agent simulator provides a runnable agent instantly. The key features are:

  • Open source code generation back-end based on templates. Code generation templates are included for AGENT++/AgentX++ (C++) as well as for SNMP4J (Java).
  • Roundtrip Engineering: Merge with existing code is supported (even for customized templates). Templates can be used to specify what files should be updated or newly generated and also which MIB information is used for which file.
  • Live preview with diff of existing code vs. generated code, makes adapting templates, code mapping for refactory migrations very easy.
  • Built-in code formatters for Java as well as option to plugin external formatters like clang-format that support stdin to stdout formatting.
  • Custom properties on MIB nodes. Properties are inherited by sub tree nodes.
  • MIB editor with syntax highlighting, background compiler, and pretty printing.
  • A very precise MIB compiler which can be used to check MIB files for compliance with SMI (and PIB).
  • Code generation according to AGENT-CAPABILITIES statements.
  • Project support and command line interface for integration in your build environment.
  • Formatting of MIB files and HTML export of MIB modules.
  • Built-in SNMPv1/v2c/v3 agent simulator.
  • SNMP object value initialization and trap/notification template code generation (already integrated in SNMP4J templates).
  • Maven-Plugin for integration of AgenPro into Java based build environments.
  • Runs on command line with Java 8 or later. To leverage all features (i.e. built-in code formatting), Java JRE 11 or later is required.

 

 

Application Programming Interfaces (APIs):

Java

SNMP4J

SNMP4J is an enterprise class, free open source, and state-of-the-art SNMP v1/2c/v3 implementation for Java™.
SNMP4J is the core API for implementing any SNMP service.

The SNMP4J Java SNMP API provides the following features:

  • SNMPv3 with MD5 and SHA authentication (SHA-1, SHA-224, -256, -384, -512), and DES, 3DES, AES-128, AES-192, and AES-256 privacy.
  • Pluggable Message Processing Models with implementations for MP v1-4.
  • All PDU types.
  • Pluggable transport mappings. UDP, TCP, and (D)TLS are supported for IPv4 and IPv6 out-of-the-box.
    New in 10/2022:
    Unix-Domain transport mapping for Java 17 or later is provided separately by the SNMP4J-Unix-Transport package.
  • Pluggable timeout model.
  • Synchronous and asynchronous requests.
  • Command generator as well as command responder support.
  • Free open source with the Apache 2 license model.
  • Java™ 8 or later (Java™ 9 for version 3.0 or later).
  • Row-based efficient asynchronous table retrieval with GETBULK (see TableUtils).
  • Multi-threading support.
  • Seamless integration of MIB specification information through SNMP4J-SMI-PRO.
  • Log adapter for multi logging framework support.
  • Diffie Hellman key exchange (RFC 2768).
  • Command line tool for sending SNMP requests.

 

 

 

C++

SNMP++ API

 

SNMP++v3.x is based on SNMP++v2.8 from HP and extends it by support for SNMPv3 and a couple of bug fixes. SNMP++v3.x is a C++ API which supports SNMP v1/2c/v3. The v3 support of SNMP++ and AGENT++ is provided by courtesy of Jochen Katz (katz07@agentpp.com).

SNMP++v3.x extends the original SNMP++v2.8 by the following:

  • SNMPv3 including User Security Model (USM) with:
  • SHA-224, SHA-256, SHA-384, SHA-512 as well as MD5 and SHA-1 authentication
  • AES-128, AES-192, AES-256 as well as DES, 3DES, and  IDEA privacy
  • Thread-safety
  • Bug-fixes

These extension have been implemented transparently for the API user, except for the Pdu and Snmp classes which had been modified in order to support SNMPv3. Additionally, the API had been extended by a new Target subclass named UTarget (USM based Target).

SNMP++ v3.x (and AGENT++ v4.x) can be used with at least Linux, FreeBSD, Mac OS X, Solaris, Windows XP/7/8, and Cygwin.

 

 

Software Sources Ltd is AgentPP's reseller.