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

SNMP编程

开发平台:

C/C++

  1. /* $Id: Sendv2cTrap.java,v 1.1 2002/06/15 14:42:50 ram Exp $ */
  2. /*
  3.  * @(#)Sendv2cTrap.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 an example program to explain how to write an application to send a
  9.  * v2c trap message using com.adventnet.snmp.snmp2 package of AdventNetSNMP API.
  10.  *
  11.  * The user could run this application by giving the following usage.
  12.  *  
  13.  * java Sendv2cTrap hostname 
  14.  *
  15.  * where 
  16.  *
  17.  * hostname is the RemoteHost (agent).The Format is string without double quotes/IpAddress.
  18.  *
  19.  *
  20.  */
  21. import java.lang.*;
  22. import java.util.*;
  23. import java.net.*;
  24. import com.adventnet.snmp.snmp2.*;
  25. public class Sendv2cTrap  
  26. {
  27. public static void main(String args[]) 
  28. {
  29. if( args.length == 0)
  30. {
  31. System.out.println("Usage : java SnmpSendTrap hostname");
  32. System.exit(0);
  33. }
  34.         
  35. // get the parameter
  36. String remoteHost = args[0];
  37. // Start SNMP API    
  38.         SnmpAPI api = new SnmpAPI();
  39. api.setDebug(true);
  40. SnmpSession session = new SnmpSession(api); 
  41. // set remote Host
  42. UDPProtocolOptions option = new UDPProtocolOptions(hostname);
  43. SnmpPDU pdu = new SnmpPDU();
  44. pdu.setProtocolOptions(option);
  45. // set remote port
  46. option.setRemotePort(8001);
  47. //open the session
  48. try 
  49. {
  50.             session.open();
  51.         } 
  52. catch (SnmpException e ) 
  53. {
  54.     System.err.println("Error opening socket: "+e);
  55. }
  56. // Build SNMPv2c Trap PDU
  57. pdu.setCommand(SnmpAPI.TRP2_REQ_MSG );
  58.       
  59. //Add the Up time variable binding - mandatory
  60. SnmpVar var = null;
  61. SnmpOID oid = new SnmpOID(".1.3.6.1.2.1.1.3.0"); 
  62. try 
  63. {
  64. //create SnmpVar instance
  65. var = SnmpVar.createVariable(systemuptime, SnmpAPI.TIMETICKS);
  66. }
  67. catch(SnmpException e)
  68. {
  69. System.err.println("Cannot create variable: " + oid + " with value: " + systemuptime);
  70. return;
  71. }
  72. //create varbind    
  73. SnmpVarBind varbind = new SnmpVarBind(oid,var);
  74. // add variable binding
  75. pdu.addVariableBinding(varbind); 
  76. //Add the Trap OID variable binding - mandatory
  77. oid = new SnmpOID(".1.3.6.1.6.3.1.1.4.1.0");
  78. try 
  79. {
  80. //create SnmpVar instance
  81. var = SnmpVar.createVariable(trapoidvalue,SnmpAPI.OBJID); 
  82. }
  83. catch(SnmpException e)
  84. {
  85. System.err.println("Cannot create variable: " + oid + " with value: " + trapoidvalue);
  86. return;
  87. }
  88. //create varbind    
  89. SnmpVarBind varbind = new SnmpVarBind(oid,var); 
  90. // add variable binding
  91. pdu.addVariableBinding(varbind);
  92. // send PDU
  93.         try 
  94. session.send(pdu); 
  95. catch (SnmpException e) 
  96. {
  97.       System.err.println("Sending PDU"+e.getMessage());
  98. }
  99. System.exit(0);
  100. }
  101. }