[SNMP4J] Null Response in ResponsePDU

Abhinandan Sonvane abhinandan.sonvane at gmail.com
Thu Sep 4 08:10:26 CEST 2008


Hi All,
 I am getting null respose for the following code


import java.io.IOException;
import org.snmp4j.PDU;
import org.snmp4j.ScopedPDU;
import org.snmp4j.Snmp;
import org.snmp4j.TransportMapping;
import org.snmp4j.UserTarget;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.MPv3;
import org.snmp4j.mp.MessageProcessingModel;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.security.AuthMD5;
import org.snmp4j.security.PrivDES;
import org.snmp4j.security.SecurityLevel;
import org.snmp4j.security.SecurityModels;
import org.snmp4j.security.SecurityProtocols;
import org.snmp4j.security.USM;
import org.snmp4j.security.UsmUser;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.Integer32;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultTcpTransportMapping;
import org.snmp4j.transport.DefaultUdpTransportMapping;

/**
 *
 * @author abhi
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        // TODO code application logic here
        //String ADDRESS_TYPES_PROPERTIES="org.snmp4j.addresses";
        try{
        Address targetAddress = GenericAddress.parse("udp:202.41.75.46/161
");

        TransportMapping transport = new DefaultUdpTransportMapping();

         Snmp snmp=new Snmp(transport);
         MPv3 mpv3 =
(MPv3)snmp.getMessageProcessingModel(MessageProcessingModel.MPv3);
         USM usm = new USM(SecurityProtocols.getInstance(),
           new OctetString(mpv3.createLocalEngineID()), 0);
   SecurityModels.getInstance().addSecurityModel(usm);

   transport.listen();

         UsmUser usmuser=new UsmUser(new OctetString("cdotipnms"),
                                     AuthMD5.ID,
                                     new OctetString("cdotipnms123"),
                                     null,
                                     new OctetString("null"),new
OctetString(".1.3.6.1.6.3.15.1.2.2.1.1"));
         if (snmp.getUSM() == null)
                System.out.println ("getUSM returns null");
         snmp.getUSM().addUser(new OctetString("MD5DES"),usmuser);
         System.out.println("USM Security
Protocol"+snmp.getUSM().getSecurityProtocols());


   // create the target
   UserTarget target = new UserTarget();
   target.setAddress(targetAddress);

   target.setRetries(1);
   target.setTimeout(5000);
   target.setVersion(SnmpConstants.version3);
   target.setSecurityLevel(SecurityLevel.AUTH_NOPRIV);
   target.setSecurityName(new OctetString("MD5DES"));
   int pduType = PDU.GET;

   // create the PDU
   PDU pdu = new ScopedPDU();
  pdu.setType(pduType);
    //pdu.setContextName(new OctetString("auth"));

   pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.6.0")));
   pdu.setType(PDU.GETNEXT);
   //pdu.setRequestID(new Integer32(4));
   System.out.print("SNMP UserTable :"+snmp.getUSM().getUserTable());
   // send the PDU
   ResponseEvent response = snmp.send(pdu, target);



   // extract the response PDU (could be null if timed out)


   PDU responsePDU = response.getResponse();
   if (responsePDU == null)
       System.out.println ("responsePDU is NULL");
   // extract the address used by the agent to send the response:
   Address peerAddress = response.getPeerAddress();
   System.out.println("Response :"+peerAddress);

        }
        catch(Exception e)
        {

        System.out.print("Exception :"+e);
        }

    }

}



More information about the SNMP4J mailing list