[SNMP4J] Help needed for SNMP over TCP

bang bang bang.chill at gmail.com
Wed Mar 4 18:34:21 CET 2009


Hi Frank,

Thanks for your quick reply. Agree on your point below.
Apart from this, on original problem if i capture the ethreal trace on
either end, i dont see the payload added by me for TCP. When i try to debug
with SNMP4J source, i see the connection is not eshtablished.

Is there anything else missing from code below perticular to TCP?

Thanks again,
BC

On Wed, Mar 4, 2009 at 10:58 PM, Frank Fock <fock at agentpp.com> wrote:

> Hi,
>
> You will not get any response on
> a trap independently of using
> UDP or TCP. Your code itself
> will always throw a NullPointerException
> here:
>
> >    if (response != null) {
> >     System.out.println("GOT"+response.getError());
> >     System.out.println("GOT"+response.getResponse().getRequestID());
>
> response.getResponse() will always return 'null'
> when sending a trap/notification.
>
> >     System.out.println("GOT"+response.getError());
> >    }
>
> Best regards,
> Frank
>
> bang bang wrote:
>
>>  I am trying to send out the SNMP V2c trap using SNMP4J. The code which
>> is
>> trying to do the same is given below. The same code is working fine for
>> UDP
>> but returns null response for TCP. Can someone please help me to find the
>> missing point here?
>>
>> Thanks in advance.
>> CB
>>
>> package com.test;
>> import java.net.InetAddress;
>> import java.util.ArrayList;
>> import org.snmp4j.CommunityTarget;
>> import org.snmp4j.PDU;
>> import org.snmp4j.PDUv1;
>> import org.snmp4j.Snmp;
>> import org.snmp4j.Target;
>> import org.snmp4j.TransportMapping;
>> import org.snmp4j.event.ResponseEvent;
>> import org.snmp4j.mp.SnmpConstants;
>> import org.snmp4j.smi.Address;
>> import org.snmp4j.smi.Integer32;
>> import org.snmp4j.smi.OID;
>> import org.snmp4j.smi.OctetString;
>> import org.snmp4j.smi.TcpAddress;
>> import org.snmp4j.smi.TimeTicks;
>> import org.snmp4j.smi.TransportIpAddress;
>> import org.snmp4j.smi.UdpAddress;
>> import org.snmp4j.smi.VariableBinding;
>> import org.snmp4j.transport.DefaultTcpTransportMapping;
>> import org.snmp4j.transport.DefaultUdpTransportMapping;
>> public class SNMP4J {
>>  private static boolean isTcp = true;
>>  public static void main(String[] args) {
>>  try {
>>   TransportMapping transport = null;
>>   if (isTcp) {
>>    transport = new DefaultTcpTransportMapping();
>>   } else {
>>    transport = new DefaultUdpTransportMapping();
>>   }
>>   Snmp snmp = new Snmp(transport);
>>   transport.listen();
>>   System.out.println("Sending PDU");
>>   ResponseEvent response = snmp.send(getPDU(), getTarget());
>>   System.out.println("PDU sent");
>>   if (response != null) {
>>    System.out.println("GOT"+response.getError());
>>    System.out.println("GOT"+response.getResponse().getRequestID());
>>    System.out.println("GOT"+response.getError());
>>   }
>>  } catch (Exception exp) {
>>   System.out.println("Exception sending message"+exp);
>>  } catch (Error err) {
>>   System.out.println("Error sending message");
>>  }
>>  }
>>  private static PDU getPDU() throws Exception {
>>  VariableBinding var;
>>  PDUv1 pdu = new PDUv1();
>>  pdu.setType(PDU.TRAP);
>>  try {
>>
>>   var = new VariableBinding();
>>   var.setOid(new OID("1.3.6.1.4.1"));
>>   var.setVariable(new TimeTicks(12222L));
>>   pdu.add(var);
>>   var = new VariableBinding();
>>   var.setOid(new OID("1.3.6.1.4.1"));
>>   var.setVariable(new Integer32(99));
>>   pdu.add(var);
>>
>>  } catch (Exception p) {
>>   p.printStackTrace();
>>  }
>>  return pdu;
>>  }
>>  private static Target getTarget() throws Exception {
>>  TransportIpAddress targetAddress = null;
>>  if (isTcp) {
>>   targetAddress = new TcpAddress(InetAddress.getByName("115.0.0.44"),162);
>>  } else {
>>   targetAddress = new UdpAddress(InetAddress.getByName("115.0.0.44"),162);
>>  }
>>  CommunityTarget target = new CommunityTarget();
>>  target.setCommunity(new OctetString("public"));
>>  target.setAddress(targetAddress);
>>  target.setVersion(SnmpConstants.version2c);
>>  target.setTimeout(500L);
>>  target.setRetries(3);
>>  return target;
>>  }
>>
>>  private void log() {
>>
>>  }
>> }
>> _______________________________________________
>> 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