[SNMP4J] Cannot get CommandResponder.processPdu() to work
Frank Fock
fock at agentpp.com
Mon Apr 2 19:56:48 CEST 2007
Hi Adam,
You need to add the SNMPv1 message processing model
and the corresponding security model.
Best regards,
Frank
Adam Brons wrote:
> I'm having trouble receiving snmp trap messages. I've used example code
> provided in the java doc and looked through a large section of the mail
> archives. I know I have to be missing something, but don't appear to see
> what it is. Any help would be greatly appreciated.
>
> Here's my test code:
>
> import org.snmp4j.TransportMapping;
> import org.snmp4j.Snmp;
> import org.snmp4j.transport.DefaultUdpTransportMapping;
> import org.snmp4j.CommandResponder;
> import org.snmp4j.CommandResponderEvent;
> import org.snmp4j.PDU;
> import org.snmp4j.smi.UdpAddress;
>
> public class TestListener {
> public TestListener() {
> }
>
> public synchronized void start(String address) throws Exception {
> UdpAddress listenAddress = new UdpAddress(address);
> Snmp snmp = new Snmp();
>
> CommandResponder trapPrinter = new CommandResponder() {
> public void processPdu(CommandResponderEvent e) {
> System.out.println("I'm in processPdu");
> PDU command = e.getPDU();
> if (command != null) {
> System.out.println(command.toString());
> }
> }
> };
>
> if (snmp.addNotificationListener(listenAddress, trapPrinter)) {
> snmp.listen();
> System.out.println("Waiting for snmp events on " +
> listenAddress.toString());
> try { this.wait(); }
> catch(InterruptedException ex) { System.out.println("Caught
> InterruptException: "+ex.toString()); }
> catch(Exception ex) { System.out.println("CaughtException:
> "+ex.toString()); }
> } else {
> System.out.println("snmp.addNotificationListener returned FALSE");
> System.out.println("TestListener closing...");
> }
> }
>
> public static void main(String [ ] args) {
> String address = null;
>
> if (args.length > 0) {
> address = args[0];
> }
>
> if (address == null || address.equals("")) {
> address = "0.0.0.0/16200";
> }
>
> TestListener test = new TestListener();
> try {
> test.start(address);
> } catch (Exception ex) {
> System.out.println("CaughtException: "+ex.toString());
> }
> }
> }
>
>
> Here's the output trying to run this code:
> $ java -classpath
> .:/home/abrons/adm/prometheus/snmp4j/snmp4j-1.8.1/dist/lib/SNMP4J.jar
> TestListener 127.0.0.1/16200
> Waiting for snmp events on 127.0.0.1/16200
>
> Here's the output trying to send a snmp v1trap to the TestListener using
> the SNMP tool provided with snmp4j:
> $ ./SNMP4J-linux -p V1TRAP -v 1 127.0.0.1/16200
> Apr 2, 2007 1:36:39 PM org.snmp4j.log.JavaLogAdapter log
> INFO: UDP receive buffer size for socket 127.0.0.1/0 is set to: 55296
> V1TRAP sent successfully
>
> Here's the output trying to run this code using the SNMP tool provided
> with snmp4j to receive the trap and send the trap the same as the previous
> send output:
> $ ./SNMP4J-linux -Ol 127.0.0.1/16200
> Listening on 127.0.0.1/16200
> Apr 2, 2007 1:38:47 PM org.snmp4j.log.JavaLogAdapter log
> INFO: UDP receive buffer size for socket 127.0.0.1/16200 is set to: 55296
> V1TRAP[reqestID=0,timestamp=0:00:00.00,enterprise=0.0,genericTrap=0,specificTrap=0,
> VBS[1.3.6 = Null]]
>
>
> Adam Brons
> TSOM Software Engineer
> IBM Tivoli Software
> _______________________________________________
> SNMP4J mailing list
> SNMP4J at agentpp.org
> http://lists.agentpp.org/mailman/listinfo/snmp4j
--
AGENT++
http://www.agentpp.com
http://www.mibexplorer.com
http://www.mibdesigner.com
More information about the SNMP4J
mailing list