[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