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

SNMP编程

开发平台:

C/C++

  1. /* $Id: mibnodeinfo.java,v 1.3 2002/09/09 05:43:43 pushpar Exp $ */ 
  2. /*
  3.  * @(#)mibnodeinfo.java
  4.  * Copyright (c) 1996-2002 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 use some of the methods of the mibs
  9.  * package.
  10.  * The user could run this application by giving any one of the following usage.
  11.  *  
  12.  * java mibinfo [-d] [-m MIB_files] [-n] [-s] [-l] OID   
  13.  *
  14.  * If the oid is not starting with a dot (.) it will be prefixed by .1.3.6.1.2.1 .
  15.  * So the entire OID of 1.1.0 will become .1.3.6.1.2.1.1.1.0 . You can also
  16.  * give the entire OID .
  17.  * 
  18.  *
  19.  * Options:
  20.  * [-d]                - Debug output. By default off.
  21.  * [-s]                _ prints the String OID (in the form .iso.org.dod.internet.mgmt.mib-2)
  22.  * [-n]                - prints the associated numeric oid.
  23.  * [-l]                - prints the associated syntax of the node.
  24.  * [-D]                _ prints the associated description of the node.
  25.  * [-P]                - prints all the properties of the MibNode.
  26.  * -m   <MIBfile>      - MIB files.To load multiple mibs give within double quotes files seperated by a blank space. Mandatory.      
  27.  * <OID>  Mandatory    - Object Identifier.
  28.  */
  29. import com.adventnet.snmp.mibs.*;
  30. import com.adventnet.snmp.snmp2.*;
  31. public class mibnodeinfo {
  32. private static final int DEBUG = 0;
  33. private static final int MIBS = 6;
  34. public static void main(String args[]) {
  35. // Take care of getting options     
  36. String usage = "java mibnodeinfo [-d] -m MIB_files [-n] [-s] [-l] [-D] [-P] OID";
  37. String options[] = { "-d", "-n", "-s", "-l", "-D", "-P", "-m" };
  38. String values[] = { "None", "None", "None", "None", "None", "None", null};
  39. usage += "n Options:" +
  40. "n[-d]                - Debug output. By default off." +
  41. "n[-s]                _ prints the String OID (in the form .iso.org.dod.internet.mgmt.mib-2)" +
  42. "n[-n]                - prints the associated numeric oid." + 
  43. "n[-l]                - prints the associated syntax of the node." +
  44. "n[-D]                _ prints the associated description of the node." +
  45. "n[-P]                - prinys all the properties of the MibNode." + 
  46. "n-m   <MIBfile>      - MIB files.To load multiple mibs give within double quotes files seperated by a blank space. Mandatory." +
  47. "n<OID>  Mandatory    - Object Identifier.";
  48. ParseOptions opt = new ParseOptions(args,options,values, usage);
  49. if (opt.remArgs.length<1 || opt.remArgs.length > 1) {
  50. opt.usage_error();
  51. }
  52. MibOperations mibOps = new MibOperations();
  53. if (values[DEBUG].equals("Set")) mibOps.setDebug( true );
  54. // To load MIBs from compiled file
  55. mibOps.setLoadFromCompiledMibs(true);
  56. // Loading MIBS
  57. if (values[MIBS] != null) {
  58. try {
  59. System.out.println("Loading MIBs: "+values[MIBS]);
  60. mibOps.loadMibModules(values[MIBS]);
  61. } catch (Exception ex) {
  62. System.out.println("Error loading MIBs: "+ex);
  63. }
  64. }else {
  65. System.out.println("Loading MIBs is mandatory");
  66. System.exit(0);
  67. }
  68. SnmpOID oid = mibOps.getSnmpOID(opt.remArgs[0]);
  69. MibNode node = mibOps.getMibNode(oid);
  70. if(node == null) {
  71. System.out.println("Invalid OID / the node " + opt.remArgs[0] + " is not avialable");
  72. }
  73. if(values[1].equals("Set")) {
  74. System.out.println("nNumbered OID: " + oid);
  75. }
  76. if(values[2].equals("Set")) {
  77. System.out.println("nString OID: " + node.getOIDString()); 
  78. }
  79. if(values[3].equals("Set")) {
  80. LeafSyntax syntax = mibOps.getLeafSyntax(oid);
  81. System.out.println("nSyntax: " + syntax);
  82. }
  83. if(values[4].equals("Set")) {
  84. System.out.println("nDescription: " + node.getDescription());
  85. }
  86. if(values[5].equals("Set")) {
  87. System.out.println("n" + node.toTagString());
  88. }
  89. }
  90. }