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

SNMP编程

开发平台:

C/C++

  1. /* $Id: SnmpTrapd_one.java,v 1.1 2002/06/15 14:42:11 ram Exp $ */
  2. /*
  3.  * @(#)SnmpTrapd_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 for receiving traps using 
  9.  * the com.adventnet.snmp.snmp2 package of AdventNetSNMP api.
  10.  *
  11.  * The user could run this application by giving the following usage.
  12.  *  
  13.  * java SnmpTrapd_one
  14.  *
  15.  * the application will start receiving traps in the port 8001.
  16.  * 
  17.  *
  18.  *
  19.  */
  20. import java.lang.*;
  21. import java.util.*;
  22. import java.net.*;
  23. import com.adventnet.snmp.snmp2.*;
  24. public class SnmpTrapd_one  {
  25. public static void main(String args[]) {
  26.         
  27.         // Start SNMP API
  28. SnmpAPI api = new SnmpAPI();
  29. api.setDebug(true);
  30. // Open session 
  31. SnmpSession session = new SnmpSession(api); 
  32. // set local port
  33. SnmpPDU pdu = new SnmpPDU();
  34. UDPProtocolOptions option = new UDPProtocolOptions("localhost");
  35. pdu.setProtocolOptions(option); 
  36. pdu.setLocalPort(8001); 
  37. // set community
  38. session.setCommunity(null);
  39. // open the session
  40. try 
  41. {
  42. session.open();
  43.         } 
  44. catch (SnmpException e ) 
  45. {
  46. System.err.println("Error opening socket: "+e);
  47. }
  48. // wait for the trap pdu
  49. pdu = session.receive(0);
  50.         System.out.println("Waiting to receive traps in the port "+pdu.getLocalPort() +".......");
  51. while (pdu == null) 
  52. {
  53. pdu = session.receive(0);
  54. if(pdu != null)
  55. {
  56. if (pdu.getCommand() == SnmpAPI.TRP_REQ_MSG) 
  57. {
  58.   // print the received trap information 
  59. System.out.println("Trap received from: "+pdu.getAddress() +", community: " + pdu.getCommunity());
  60. System.out.println("Enterprise: " + pdu.getEnterprise());
  61. System.out.println("Agent: " + pdu.getAgentAddress());
  62. System.out.println("TRAP_TYPE: " + pdu.getTrapType());
  63. System.out.println("SPECIFIC NUMBER: " + pdu.getSpecificType());
  64. System.out.println("Time: " + pdu.getUpTime()+"nVARBINDS:");
  65. System.out.println(pdu.printVarBinds());
  66. pdu = null;
  67. System.out.println("Continues waiting to receive traps in the port "+session.getLocalPort() +".......");
  68. }
  69. else
  70. {
  71. System.err.println("Non trap PDU received.");
  72. }
  73.          }
  74. }
  75.  }
  76. }