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

SNMP编程

开发平台:

C/C++

  1. /* $Id: SnmpTrapd.java,v 1.1 2002/06/15 14:42:11 ram Exp $ */
  2. /*
  3.  * @(#)SnmpTrapd.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
  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 implements SnmpClient 
  25. {
  26. public static void main(String args[]) {
  27.         
  28.         // Start SNMP API
  29.         SnmpAPI api = new SnmpAPI();
  30. // Open session 
  31. SnmpSession session = new SnmpSession(api); 
  32. session.addSnmpClient(new SnmpTrapd());
  33. // set local port
  34. SnmpPDU pdu = new SnmpPDU();
  35. UDPProtocolOptions option = new UDPProtocolOptions("localhost");
  36. pdu.setProtocolOptions(option); 
  37. pdu.setLocalPort(8001); 
  38. // Open the session
  39. try 
  40. {
  41.             session.open();
  42.         } 
  43. catch (SnmpException e ) 
  44. {
  45.     System.err.println("Error opening socket: "+e);
  46. }
  47. System.out.println("Waiting to receive traps in the port "+option.getLocalPort() +".......");
  48. }
  49. public boolean authenticate(SnmpPDU pdu, String community)
  50. {
  51.          return (pdu.getCommunity().equals(community));
  52. }
  53.   
  54. public boolean callback(SnmpSession session, SnmpPDU pdu, int requestID)
  55. {
  56. // print the received trap information 
  57.          System.out.println("Trap received from: "+pdu.getAddress() +", community: " +  pdu.getCommunity());
  58. System.out.println("Enterprise: " + pdu.getEnterprise());
  59.          System.out.println("Agent: " + pdu.getAgentAddress());
  60.         System.out.println("TRAP_TYPE: " + pdu.getTrapType());
  61.          System.out.println("SPECIFIC NUMBER: " + pdu.getSpecificType());
  62.         System.out.println("Time: " + pdu.getUpTime()+"nVARBINDS:");
  63. System.out.println(pdu.printVarBinds());
  64. System.out.println("Continues waiting to receive traps in the port "+options.getLocalPort() +".......");
  65. return true;
  66. }
  67. public void debugPrint(String debugOutput)
  68. {
  69.          System.out.println(debugOutput);
  70.         return;    
  71. }
  72. }