[SNMP4J] Need help:Unable to run sample snmp code with OIDs

anshul gupta anshul.gupta14589 at yahoo.in
Thu Feb 17 13:33:38 CET 2011


Hi,





I have one more code the output is coming NULL for it i dont why.Please if u can help me on this and the output language is not understandable
 import java.io.IOException;  

 import org.snmp4j.*;  

 import org.snmp4j.smi.Address;  

 import org.snmp4j.CommandResponder;  

 import org.snmp4j.CommandResponderEvent;  

 import org.snmp4j.CommunityTarget;  

 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.event.ResponseListener;  

 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 org.snmp4j.Snmp;  

 import org.snmp4j.CommunityTarget;  

 public class Main  

 {  

  public static void main(String[] args) throws IOException{  

         // TODO code application logic here  

         Address targetAddress = GenericAddress.parse("udp:127.0.0.1/161");  

    TransportMapping transport = new DefaultUdpTransportMapping();  

      

    Snmp snmp = new Snmp(transport);  

  //USM - User Based Security Model  

    USM usm = new USM(SecurityProtocols.getInstance(),  

                      new OctetString(MPv3.createLocalEngineID()), 0);  

    SecurityModels.getInstance().addSecurityModel(usm);  

    transport.getListenAddress();  

    if(transport.getListenAddress()!=null)  

        System.out.println("Adresa de ascultare este:"+transport.getListenAddress());  

    else System.out.println("Nu exista");  

   byte a[]=new byte[]{1,2};  

    transport.sendMessage(targetAddress, a);  

    transport.listen();  

   if(transport.isListening())  

       System.out.println("Marimea maxima a mesajul este: "+transport.getMaxInboundMessageSize());  

    System.out.println(snmp.getNextRequestID());  

   

 snmp.getUSM().addUser(new OctetString("MD5DES"),  

                          new UsmUser(new OctetString("MD5DES"),  

                                      AuthMD5.ID,  

                                      new OctetString("MD5DESUserAuthPassword"),  

                                     PrivDES.ID,  

                                      new OctetString("MD5DESUserPrivPassword")));  

    // creare target  

    UserTarget target = new UserTarget();  

    target.setAddress(targetAddress);  

    target.setRetries(1);  

    target.setTimeout(5000);  

    target.setVersion(SnmpConstants.version3);  

    target.setSecurityLevel(SecurityLevel.AUTH_PRIV);  

    target.setSecurityName(new OctetString("MD5DES"));  

 System.out.println("User~ul: "+snmp.getUSM());  

   

 System.out.println("Adresa la care va fi trimis mesajul: "+target.getAddress());  

    // creare PDU  

    PDU pdu = new ScopedPDU();  

    pdu.add(new VariableBinding(new OID("1.3.6")));  

    pdu.setType(PDU.GETNEXT);  

   

     System.out.println("Tip PDU: "+pdu.getType());  

   

    // trimitere PDU  

    ResponseEvent response = snmp.send(pdu, target);  

    // extrage raspunsul PDU (poate fi null daca timpul expira)  

    PDU responsePDU = response.getResponse();  

   

 System.out.println("Raspuns: "+response.getResponse());  

   

    //extrage adresa folosita de agent pentru a trimite raspunsul  

 Address peerAddress = response.getPeerAddress();  

   

System.out.println(response.getRequest());  

 snmp.listen();  

  CommunityTarget communityTarget  = new CommunityTarget();  

    communityTarget.setCommunity(new OctetString("public"));  

    communityTarget.setAddress(targetAddress);  

    communityTarget.setRetries(3);  

    communityTarget.setTimeout(3000);  

    communityTarget.setVersion(SnmpConstants.version1);  

   

    System.out.println("Comunity target: "+communityTarget.getCommunity());  

    // creare PDU  

     pdu = new PDU();  

     

    pdu.add(new VariableBinding(new OID(new int[] {1,3,6,1,2,1,1,1})));  

    pdu.add(new VariableBinding(new OID(new int[] {1,3,6,1,2,1,1,2})));  

    pdu.add(new VariableBinding(new OID(new int[] {1,3,6,1,2,1,1,3})));  

    pdu.add(new VariableBinding(new OID(new int[] {1,3,6,1,2,1,1,4})));  

    pdu.add(new VariableBinding(new OID(new int[] {1,3,6,1,2,1,1,5})));  

    pdu.setType(PDU.GETNEXT);  

  

 snmp.listen();  

   

 ResponseListener listener = new ResponseListener() {  

     public void onResponse(ResponseEvent event) {  

         PDU response = event.getResponse();  

         PDU request = event.getRequest();  

         if (response == null) {  

          System.out.println("Request "+request+" timed out");  

         }  

         else {  

             System.out.println("Received response "+response+" on request "+  

                                request);  

     }}  

 };  

 snmp.sendPDU(pdu, communityTarget, null, listener);  

   

 System.out.println(snmp.get(pdu, communityTarget));  

         

   

   

 //Traps (notificari) si alte mesaje SNMP pot fi receptionate astfel:  

    CommandResponder trapPrinter = new CommandResponder() {  

      public synchronized void processPdu(CommandResponderEvent e) {  

        PDU command = e.getPDU();  

        if (command != null) {  

          System.out.println(command.toString());  

        }  

      }  

    };  

   

    snmp.addCommandResponder(trapPrinter);  

   

   

   

     }

    }











**************************************************************************************************





output





Adresa de ascultare este:192.168.2.2/0

Marimea maxima a mesajul este: 65535

345088628

User~ul: org.snmp4j.security.USM at bf32c

Adresa la care va fi trimis mesajul: 127.0.0.1/161

Tip PDU: -95

Raspuns: null

GETNEXT[reqestID=345088629, errorStatus=0, errorIndex=0, VBS[1.3.6 = Null]]

Comunity target: public

Request GET[requestID=345088630, errorStatus=Success(0), errorIndex=0, 
VBS[1.3.6.1.2.1.1.1 = Null; 1.3.6.1.2.1.1.2 = Null; 1.3.6.1.2.1.1.3 = 
Null; 1.3.6.1.2.1.1.4 = Null; 1.3.6.1.2.1.1.5 = Null]] timed out

org.snmp4j.event.ResponseEvent[source=org.snmp4j.Snmp at 1c5c1]

  










More information about the SNMP4J mailing list