[SNMP4J] Problem in getting response through snmp4j

kumar saurbh saurabh1073 at gmail.com
Mon Jan 18 07:54:56 CET 2010


Hi all. I have asked this question before 1 week. Can anyone plz reply to
solved my problem. Waiting for your reply. ThankYou.

---------- Forwarded message ----------
From: kumar saurbh <saurabh1073 at gmail.com>
Date: Tue, Jan 12, 2010 at 6:55 PM
Subject: Problem in getting response through snmp4j
To: snmp4j at agentpp.org
Cc: kumar saurbh <saurabh1073 at gmail.com>


Hi all,

This is Saurabh and i am unable to get the response pdu. To check whether
through any oid it returns something or not I am using JMIB browser and for
any oid it shows received record as 0(zero).  I am trying by increasing
timeout time of UserTarget, but still it not works. Attached is the code
snippet.


*import org.snmp4j.DefaultTimeoutModel;
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.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.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
import sun.swing.table.DefaultTableCellHeaderRenderer;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Administrator
 */
public class FinalComm {

    public FinalComm()
    {
        try
        {
            Address targetAddress = GenericAddress.parse("udp:
192.168.2.44/161");
            TransportMapping transport = new DefaultUdpTransportMapping();
            Snmp snmp = new Snmp(transport);
            USM usm = new USM(SecurityProtocols.getInstance(),
                     new OctetString(MPv3.createLocalEngineID()), 0);
            SecurityModels.getInstance().addSecurityModel(usm);
            //transport.listen();
            //add saurabh
            System.out.println(transport.isListening());
            snmp.listen();
            System.out.println(transport.isListening());
            //end
            //----------Send PDU------------------------
            // add user to the USM
              snmp.getUSM().addUser(new OctetString("MD5DES"),
                         new UsmUser(new OctetString("MD5DES"),
                                     AuthMD5.ID,
                                     new
OctetString("MD5DESUserAuthPassword"),
                                     PrivDES.ID,
                                     new
OctetString("MD5DESUserPrivPassword")));
            // create the target
            UserTarget target = new UserTarget();
            target.setAddress(targetAddress);
            target.setRetries(1);
            target.setTimeout(50000);
            //add saurabh
            //target.setTimeout(10000);
            DefaultTimeoutModel  dm = new DefaultTimeoutModel();
            System.out.println(dm.getRequestTimeout(1, 50000));
            //end

            target.setVersion(SnmpConstants.version3);
            target.setSecurityLevel(SecurityLevel.AUTH_PRIV);
            target.setSecurityName(new OctetString("MD5DES"));
           // create the PDU
            PDU pdu = new ScopedPDU();
            //pdu.add(new VariableBinding(new OID("1.3.6")));
            //pdu.setType(PDU.GETNEXT);
            // send the PDU
//            ResponseEvent response = snmp.send(pdu, target);
            // extract the response PDU (could be null if timed out)
//            PDU responsePDU = response.getResponse();
            //add saurabh
            pdu.add(new VariableBinding(new OID("1.3.6.0")));
            pdu.setType(PDU.GETNEXT);
            ResponseEvent rsEvent = snmp.send(pdu, target);
            PDU resPDU = rsEvent.getResponse();
            System.out.println("ResponsePDU:"+resPDU);
            //System.out.print(responsePDU.getErrorStatusText());
            //end

            // extract the address used by the agent to send the response:
            //Address peerAddress = response.getPeerAddress();


        }
        catch(Exception e)
        {
            e.printStackTrace();
        }


    }
    public static void main(String f[])
    {
        new FinalComm();
    }
}


*I am trying hard to get the response. can you plz suggest me regarding this
by sending any reply on this email id.

-- 
Thanks & Regards
Kumar Saurabh




-- 
Thanks & Regards
Kumar Saurabh



More information about the SNMP4J mailing list