[SNMP4J] Help needed for SNMP over TCP

BCode bang.chill at gmail.com
Thu Mar 5 06:09:04 CET 2009


Can anybody help here please?
-BC

On Wed, Mar 4, 2009 at 11:04 PM, bang bang <bang.chill at gmail.com> wrote:

> 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