Ali, Syed F | 4 Mar 02:30 2015

index value greater than max java 32-bit integer

Hi Frank,

Would snmp4j support issuing snmp get requests where one of the terms in the OID is larger than a signed
32-bit integer? From looking at the org.snmp4j.smi.OID class, each term in the OID has to fit into a
primitive int  supports only an array of int's.
If I had an ObjectID like 2447483647, would snmp4j support
querying such an object ?
Note that the value 2447483647 is greater than the signed 32-bit maximum integer which is 2147483647.

If this is not currently supported, are there plans to support this in a future version of snmp4j?

This occurs in the case of Cisco devices while monitoring response path tests where the Cisco agent
actually uses the sysUpTime from the device to keep running "buckets" in which to store data within a given
table. We first perform getNext's to identify the 'current bucket'. Then we use that bucket as part of
creating the OID, and issue GET requests using this OID. The current bucket is increased every hour, so
that new data can be stored, and old data can be purged, and hence sysUpTime is used to generate the bucket.
Since the value of sysUpTime is an unsigned integer (or in TimeTicks), it can actually exceed
2,147,483,647 - it's theoretical max limit is  4,294,967,294. So we notice this problem show up on devices
that have been running for greater than ~250 days.

Syed F. Ali

SNMP4J mailing list
SNMP4J <at>
Frank Fock | 24 Feb 23:25 2015

Re: How to add OID to agent MIB

Hi Nitin,

You can find additional information in the SNMP4J-Agent FAQ at:

Best regards,

Am 18.02.2015 um 20:49 schrieb nitin sharma:
> hi Frank,
> thanks for your response.. I am still not sure how to proceed. if it 
> is not too much to ask then can you please put it as step by step 
> approach.
> Regards,
> Nitin Kumar Sharma.
> On Wed, Feb 18, 2015 at 1:08 PM, Frank Fock <fock <at> 
> <mailto:fock <at>>> wrote:
>     Hi Nitin,
>     SNMP4J-Agent includes a sample simulation agent whose content can
>     be set via SNMP. I think that is all you are looking for.
>     Best regards
>     Frank
(Continue reading)

nitin sharma | 17 Feb 22:51 2015

How to add OID to agent MIB

Hi All,

I am trying to build a SNMP simulator for my project and i have been given
some network traffic dump file (using wireshark) that has OID request
between real SNMP server and Device.

My job is to build a simulator that has same OIDs and it respond back to
the snmpget request from server.

I have build a simulator by downloading the sample code available on
internet but i am not sure how to add OIDs of my choice in the MIB. or in
short use my MIB structure instead.

Any help, documentation or sample code will be appreciated.. thanks in

Nitin Kumar Sharma.
SNMP4J mailing list
SNMP4J <at>
Tihomir Meščić | 13 Feb 13:29 2015

Maven central

Hi everyone,

I was wondering why the latest version of snmp4j is not available on Maven
Central repository? We are using version 1.10.1, and having some problems,
so we would like to upgrade to the latest version (1.11.5), however that
version is not available on Maven Central repository (the latest one is
1.10.1). There is something called org.kaazing - snmp4j but I'm not sure
what that is.

Best regards,
SNMP4J mailing list
SNMP4J <at>

Re: how to create IP packet using SNMP4J

Thanks for your reply Cris.
We need to use pcap in our project for IP spoofing as adding the extra varbind "snmpTrapAddress” is not
recognized by few NMS we have in our stack. But I am not sure how to convert SNMP4J pdu and community target in
some form that can be consumed by pcap API for sending the packet.


From: Chris Janicki [mailto:Chris.Janicki <at>]
Sent: Thursday, February 12, 2015 8:19 PM
Subject: Re: [SNMP4J] how to create IP packet using SNMP4J

Hi Shivi,

Years ago we tried pcap for spoofing and ran into headaches reliably routing the spoofed address through
the network, unless both the original and spoofing (proxy) machine's addresses were on the same subnet. 
Since we couldn't always guarantee that, we didn't go further.

Instead we've been following RFC 3584<> (see Section 3.1.4).  It
specifies an extra varbind "snmpTrapAddress" to hold the original/spoofed address.  This RFC was
written for converting v1 traps to v2/3, but the logic still works for spoofing since most NMS
applications can recognize snmpTrapAddress.

There may be a few NMS that don't automatically recognize snmpTrapAddress, but usually their rules can be
customized to handle it anyway.  (If not, you can tell your NMS vendor to read RFC 3584 to remind them that
they *should* handle it per the official SNMP standards!  :-)

If you're working on the project for fun or a custom project, I hope that's helpful.  But if you really just
need a solution, check out our TrapStation<> product... It's not free, but it is
(Continue reading)


how to create IP packet using SNMP4J


I need to do IP spoofing while sending out the snmp trap. ? I can't use the snmp.send(pdu, target) for sending
trap as I need to modify the source IP in the outgoing  trap.
I am using jnet pcap librabry for IP spoofing which creates an IP packet and sends it. I need to understand how
can I form an IP packet from snmp pdu and target. Does SNMP4J provides some API for this


SNMP4J mailing list
SNMP4J <at>
Frank Fock | 7 Feb 03:39 2015

AGENT++ Web Sites Relaunch


The AGENT++ Web sites <> <> <>

will be relaunched this weekend with a completely new responsive design.
Besides an improved mobile devices support, the new site structure 
combines the content of the three existing sites quoted above into
single site.

The <> site will remain unchanged for now. 

Although the downtime will be only a few minutes, please excuse any 
inconvenience caused by this change.
If you miss any information or discover broken links after the update,
please do not hesitate to contact me by sending an email to
support <at> <mailto:support <at>>

The new site will be also available using the following link: <>

Best regards,
Frank Fock

SNMP4J mailing list
(Continue reading)

nitin sharma | 25 Jan 22:19 2015

how to change the MIB and its values

Hi team,

I trying to build a SNMP agent and so far been able to built one with the
help of java code available on net (i.e. by extending BaseAgent class).

I would like to know

1. if it is possible to change the default MIB and insert my own
2. Change the OID values before responding back to manger's request.

Nitin Kumar Sharma.
SNMP4J mailing list
SNMP4J <at>
Boussour, Imene (6076618 | 22 Jan 22:28 2015

Sending SNMP V3 Traps with or without Agent?

Hi SNMP4J Team,
Thank you for all your efforts developing  the snmp4j stack. And for taking the time to answering our questions.
I am using SNMP4J to send V3 Traps to a third party Trap manager application hosted in a remote Windows Server.
I already implemented a Java Class to send V3 Traps. I would like to know if I need to implement an SNMP Agent in
order to send my Traps to a Trap receiver software. Knowing that, This software must discover SNMP devices
in order to receive Traps from those devices that appears on its list. But What happen in a case of an Application?
Does my SNMP Trap sending Class work alone without an Agent if the Trap receiving server discovered the
machine hosting my application? Or, I need that Trap receiving app to discover an SNMP Agent that I would
implement in order to accept Traps from my application?
The fact is that I am not able to test the solution yet!
I hope my question is clear, otherwise, please let me know to clarify some parts.
Thanks in advance,
SNMP4J mailing list
SNMP4J <at>
nitin sharma | 16 Jan 03:05 2015

Snmp4j agent -- can print and store the incoming requests

HI team,

I am building a Snmp4j agent code that will print the incoming Snmp request
. is it possible scenario to be coded? if yes, then please do provide some

Nitin Kumar Sharma.
SNMP4J mailing list
SNMP4J <at>
Boussour, Imene (6076618 | 6 Jan 21:26 2015

SNMP4J V3 Traps with specified Engine ID

Hello List,

I am trying to send SNMP V3 Traps to a remote server (using a Trap monitor software on windows) from my Java
application, I use SNMP4j stack API.
My questions is around the engine ID, on the Trap receiver application we need to create an SNMP V3 account
with, username, auth protocol... but also a Context Name.
On the SNMP4j side, there is multiple areas where we can define of set the engineID:
1 - USM usm = new USM(SecurityProtocols.getInstance().addDefaultProtocols(), new
OctetString(MPv3.createLocalEngineID()), 0);
2- snmp.getUSM().addUser(mSecurityName,
OctetString.fromHexString("80:00:13:70:c0:a8:01:0d"), new UsmUser(mSecurityName,
mAuthProtocol, , mPrivProtocol, mPrivPassphrase));
3- UsmUser(mSecurityName, mAuthProtocol, , mPrivProtocol, mPrivPassphrase), OctetString.fromHexString("80:00:13:70:c0:a8:01:0d"));
4- pdu.setContextEngineID(OctetString.fromHexString("80:00:13:70:c0:a8:01:0d"));

For context Name , I only found this:
pdu.setContextName(new OctetString("contextName"));

The SNMP4J createlocalEngineId method creates a random number, Can this work?
My understanding of SNMP trap V3, is that the Engine ID should match on the sender and receiver. So, when we
specify a custom engine ID on SNMP4J, which one should we use?

And here is the Code I am using to send Traps:

                     // ltargetAddress represents the host and port we plan to communicate with
                     // in the format: host/port
                     Address ltargetAddress = GenericAddress.parse (mTransportType + ":" + mRemoteAddress + "/" + mRemotePort);

                     TransportMapping<?> transport;
                     if (ltargetAddress instanceof UdpAddress) {
(Continue reading)