[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