[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