[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