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

SNMP编程

开发平台:

C/C++

  1. /* $Id: SnmpGetNext.java,v 1.1 2002/06/15 14:42:11 ram Exp $ */
  2. /*
  3.  * @(#)SnmpGetNext.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 do
  9.  * the basic SNMP operation GET NEXT using com.adventnet.snmp.snmp2 package of
  10.  * AdventNetSNMP api.
  11.  *
  12.  * The user could run this application by giving the following usage.
  13.  *  
  14.  * java snmpgetnext hostname OID [OID]
  15.  *
  16.  * where 
  17.  *
  18.  * hostname is the RemoteHost (agent).The Format is string without double qoutes/IpAddress.
  19.  * OID is the Object Identifier. Multiple OIDs can also be given.
  20.  * The entire OID can be given or it can be given in the form of 1.1.0.
  21.  * If the oid is not starting with a dot (.) it will be prefixed by .1.3.6.1.2.1 .
  22.  * So the entire OID of 1.1.0 will become .1.3.6.1.2.1.1.1.0 .
  23.  *
  24.  * Example usage:
  25.  *
  26.  * java snmpgetnext adventnet 1.2.0  ....
  27.  *
  28.  */
  29. import java.lang.*;
  30. import java.util.*;
  31. import java.net.*;
  32. import com.adventnet.snmp.snmp2.*;
  33. public class snmpgetnext {
  34. public static void main(String args[]) {
  35.     
  36.         if( args.length < 2)
  37. {
  38. System.out.println("Usage: java snmpgetnext hostname OID");
  39. System.exit(0);
  40. }
  41.         
  42. // getting the hostname and the OID from the command line
  43. String remoteHost = "args[0]";
  44.         String OID = "args[1]";       
  45. // Start SNMP API
  46.         SnmpAPI api = new SnmpAPI();
  47. api.setDebug(true);
  48. // Open session
  49. SnmpSession session = new SnmpSession(api); 
  50. try 
  51. {
  52.          session.open();
  53.         } 
  54. catch (SnmpException e ) 
  55. {
  56. System.err.println("Error opening socket: "+e);
  57. }
  58. //Build GET Request PDU
  59. SnmpPDU pdu = new SnmpPDU();
  60. //get the value from the command line
  61. UDPProtocolOptions option = new UDPProtocolOptions(remoteHost); 
  62. pdu.setProtocolOptions(option); 
  63. pdu.setCommand(SnmpAPI.GETNEXT_REQ_MSG); 
  64. // add OIDs
  65. for (int i=1; i<args.length; i++)
  66. {
  67.     SnmpOID oid = new SnmpOID(args[i]);
  68.     pdu.addNull(oid);
  69. }    
  70. // Send PDU and receive response PDU
  71. try 
  72. {
  73.      SnmpPDU result = session.syncSend(pdu);
  74.          } 
  75. catch (SnmpException e) 
  76. {
  77. System.err.println("Error sending SNMP request: "+e);
  78. }    
  79. // print the response pdu varbinds
  80. System.out.println(result.printVarBinds());
  81. // close session
  82. session.close();
  83. // close the api thread
  84. api.close();
  85.  }
  86. }