SnmpSendTrap_one.java.txt
上传用户:aonuowh
上传日期:2021-05-23
资源大小:35390k
文件大小:3k
源码类别:

SNMP编程

开发平台:

C/C++

  1. /* $Id: SnmpSendTrap_one.java,v 1.1 2002/06/15 14:42:11 ram Exp $ */
  2. /*
  3.  * @(#)SnmpSendTrap_one.java
  4.  * Copyright (c) 1996-2003 AdventNet, Inc. All Rights Reserved.
  5.  * Please read the associated COPYRIGHTS file for more details.
  6.  */
  7. /**
  8.  * This is a tutorial example program to explain how to write an application to send a
  9.  * v1 Trap message using com.adventnet.snmp.snmp2 package of AdventNetSNMP2 api.
  10.  *
  11.  * The user could run this application by giving the following usage.
  12.  *  
  13.  * java SnmpSendTrap hostname 
  14.  *
  15.  * where 
  16.  *
  17.  * hostname is the RemoteHost (agent).The Format is string without double qoutes/IpAddress.
  18.  *
  19.  * 
  20.  *
  21.  *
  22.  */
  23. import java.lang.*;
  24. import java.util.*;
  25. import java.net.*;
  26. import com.adventnet.snmp.snmp2.*;
  27. public class SnmpSendTrap_one  {
  28. public static void main(String args[]) {
  29.     
  30.          if( args.length < 1)
  31.      
  32.      {
  33. System.out.println("Usage : java SnmpSendTrap_one hostname ");
  34. System.exit(0);
  35.      }
  36.         
  37. // Take care of getting the hostname
  38.     String remoteHost = args[0];
  39.         // Start SNMP API    
  40. SnmpAPI api;
  41.         api = new SnmpAPI();
  42.         api.start();
  43. api.setDebug(true);
  44. // Open session
  45. SnmpSession session = new SnmpSession(api); 
  46. // set remote host
  47. session.setPeername(remoteHost);
  48. // set remote port
  49. session.setRemotePort(8001);
  50. //open the session
  51. try {
  52.             session.open();
  53.         } catch (SnmpException e ) {
  54.     System.err.println("Error opening socket: "+e);
  55.    }
  56.       // Build SNMPv1 Trap PDU   
  57.       SnmpPDU pdu = new SnmpPDU();
  58.       pdu.setCommand( api.TRP_REQ_MSG );
  59.       
  60.       
  61.       // fill in v1 trap PDU fields
  62.       try {
  63.   pdu.setEnterprise(new SnmpOID("1.2.0")); 
  64.   pdu.setAgentAddress(InetAddress.getByName("192.168.1.40"));
  65.   pdu.setTrapType(0);
  66.   pdu.setSpecificType(6);
  67.   pdu.setUpTime(1000);
  68.       
  69.       }
  70.        catch (Exception ex) { 
  71.           System.err.println("error in one or more required fields: "+ex);
  72.        }
  73.        
  74.        // add OID
  75.        SnmpOID oid = new SnmpOID("1.5.0");
  76.        // set the type
  77.        byte dataType;
  78.        dataType = SnmpAPI.STRING;    
  79.        String value = "testing from simple program";
  80.        
  81.        // create SnmpVar instance for the value and the type      
  82.        SnmpVar var = null;
  83.   try {
  84.   var = SnmpVar.createVariable( value, dataType );
  85.   }
  86.   catch(SnmpException e){
  87.   System.err.println("Cannot create variable: " + oid + " with value: " + value);
  88.   return;
  89.   }
  90.  
  91. //create varbind     
  92. SnmpVarBind varbind = new SnmpVarBind(oid, var);
  93. // add variable binding
  94. pdu.addVariableBinding(varbind);
  95. // send PDU
  96.         try { 
  97. session.send(pdu); 
  98.       } catch (SnmpException e) {
  99.       System.err.println("Sending PDU"+e.getMessage());
  100.       }
  101.       System.exit(0);
  102. }
  103.     
  104. }