Skip to main content

SNMP Trap Generator using SNMP4J

This project is set up as a maven project where snmp4j library is mentioned as a dependency.

<dependency>
    <groupId>org.snmp4j</groupId>
    <artifactId>snmp4j</artifactId>
    <version>1.10.1</version>
</dependency>

This program will send SNMPv2 Trap message to any ip address mentioned. A SNMP Trap receiver program or application which is listening on port 162 would be able to receive the message.

 import java.io.IOException;  
 import org.snmp4j.CommunityTarget;  
 import org.snmp4j.PDU;  
 import org.snmp4j.Snmp;  
 import org.snmp4j.mp.SnmpConstants;  
 import org.snmp4j.smi.Address;  
 import org.snmp4j.smi.OID;  
 import org.snmp4j.smi.OctetString;  
 import org.snmp4j.smi.TimeTicks;  
 import org.snmp4j.smi.UdpAddress;  
 import org.snmp4j.smi.Variable;  
 import org.snmp4j.smi.VariableBinding;  
 import org.snmp4j.transport.DefaultUdpTransportMapping;  
 public class TrapGenerator {  
      /**  
       * @param args  
       * @throws IOException   
       */  
      public static void main(String[] args) throws IOException {  
           // Create PDU using SNMP4J       
         PDU trap = new PDU();  
         trap.setType(PDU.TRAP);  
         //Give some OID as it doesn't matter in this example  
         OID oid = new OID("1.3.6.1.2.1.1");  
         trap.add(new VariableBinding(SnmpConstants.snmpTrapOID, oid));  
         trap.add(new VariableBinding(SnmpConstants.sysUpTime, new TimeTicks(1000)));  
         trap.add(new VariableBinding(SnmpConstants.sysDescr, new OctetString("My PC Windows 7 8GB RAM ")));   
         //Add Payload - here add your data  
         Variable var = new OctetString("My system is in trouble");       
         trap.add(new VariableBinding(oid, var));       
         // Specify receiver  
         Address targetaddress = new UdpAddress("144.158.6.59/162");  
         CommunityTarget target = new CommunityTarget();  
         target.setCommunity(new OctetString("public"));  
         target.setVersion(SnmpConstants.version2c);  
         target.setAddress(targetaddress);  
         // Send Trap to the address mentioned  
         Snmp snmp = new Snmp(new DefaultUdpTransportMapping());  
         snmp.send(trap, target, null, null);       
      }  
 } 

 To test this program I have downloaded Trapreceiver application from http://www.trapreceiver.com/ and this application captures Trap messages on the system where it runs.

Open TrapReceiver and then run the Java program. You will see Trap message as below.

Hope this helps.

Comments

  1. The CDC reported that a small portable generator will produce the carbon-monoxide level of six idling cars, a reality that surprises many consumers.generatorguides.net

    ReplyDelete
  2. Gangaur Realtech is a professionally managed organisation specializing in real estate services where integrated services are provided by professionals to its clients seeking increased value by owning, occupying or investing in real estate. best generator for travel trailer

    ReplyDelete
  3. Just saying thanks will not just be sufficient, for the fantasti c lucidity in your writing. I will instantly grab your rss feed to stay informed of any updates. best generator for travel trailer

    ReplyDelete

Post a Comment