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

SNMP编程

开发平台:

C/C++

  1. /* $Id: SnmpGet.java,v 1.1 2002/06/15 14:43:37 ram Exp $ */
  2. /*
  3.  * @(#)SnmpGet.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 using com.adventnet.snmp.mibs package of
  10.  * AdventNetSNMP api.
  11.  *
  12.  * The user could run this application by giving the following usage.
  13.  *  
  14.  * java SnmpGet hostname mibfile OID [OID]
  15.  *
  16.  * where 
  17.  *
  18.  * hostname is the RemoteHost (agent).The Format is string without double qoutes/IpAddress.
  19.  * mibfile is the name of the MIB file that is loaded. To load multiple mibs give within double quotes files seperated
  20.  * by a blank space.  
  21.  * OID is the Object Identifier. Multiple OIDs can also be given.
  22.  * The entire OID can be given or it can be given in the form of 1.1.0.
  23.  * If the oid is not starting with a dot (.) it will be prefixed by .1.3.6.1.2.1 .
  24.  * So the entire OID of 1.1.0 will become .1.3.6.1.2.1.1.1.0 .
  25.  *
  26.  * Example usage:
  27.  *
  28.  * java SnmpGet adventnet RFC1213-MIB 1.1.0 1.2.0 1.3.0 1.4.0 
  29.  *
  30.  */
  31. import java.lang.*;
  32. import java.util.*;
  33. import java.net.*;
  34. import com.adventnet.snmp.snmp2.*;
  35. import com.adventnet.snmp.mibs.*;
  36. public class SnmpGet {
  37. public static void main(String args[]) {
  38.     
  39.             if( args.length < 3)
  40. {
  41. System.out.println("Usage : java SnmpGet hostname mibfile OID ");
  42. System.exit(0);
  43. }
  44.         
  45. // Take care of getting hostname, OID and the MIB file name
  46. String remoteHost = args[0];
  47.         String OID = args[1];       
  48. String mibfile = args[2];
  49.  // Start SNMP API
  50.         SnmpAPI api;
  51.         api = new SnmpAPI();
  52.         api.start();
  53. api.setDebug( true );
  54. // Open session
  55. SnmpSession session = new SnmpSession(api); 
  56. try {
  57.             session.open();
  58.         } catch (SnmpException e ) {
  59.     System.err.println("Error opening socket: "+e);
  60.    }
  61. // set remote Host 
  62. session.setPeername(remoteHost);
  63. // load the MIB file 
  64. MibOperations mibops = new MibOperations();
  65. try {
  66. mibops.loadMibModules(mibfile);
  67. } catch (Exception ex){
  68.      System.err.println("Error loading MIBs: "+ex);
  69. }
  70. // Build Get request PDU
  71. SnmpPDU pdu = new SnmpPDU();
  72. pdu.setCommand( api.GET_REQ_MSG );
  73. // add OIDs
  74. for (int i=2; i<args.length; i++){
  75.     SnmpOID oid = mibops.getSnmpOID(args[i]);
  76.     pdu.addNull(oid);
  77. }    
  78. try {
  79.     // Send PDU and receive response PDU
  80.      pdu = session.syncSend(pdu);
  81.          } catch (SnmpException e) {
  82.      System.err.println("Error sending SNMP request: "+e);
  83.    }    
  84. // print the response pdu varbinds
  85. System.out.println(mibops.toString(pdu));
  86.  // close session
  87. session.close();
  88. // stop api thread
  89. api.close();
  90.  }
  91. }