`
yuanlijia1
  • 浏览: 115819 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

读MIB文件

    博客分类:
  • java
阅读更多
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;

import com.sinoufc.base.monitor.item.model.MibObject;

import net.percederberg.mibble.Mib;
import net.percederberg.mibble.MibLoader;
import net.percederberg.mibble.MibLoaderException;
import net.percederberg.mibble.MibValue;
import net.percederberg.mibble.MibValueSymbol;
import net.percederberg.mibble.snmp.SnmpObjectType;

public class Test {

    /**
     * @param args
     * @throws MibLoaderException
     * @throws IOException
     */
    public static void main(String[] args) throws IOException, MibLoaderException {
        Test t = new Test();
        //String content = t.readFile();
        // System.err.println("content==="+content);
        t.aa();

    }

    @SuppressWarnings( { "unchecked" })
    public void aa() throws IOException, MibLoaderException {
        String filePath = this.getClass().getResource("/").getPath() + "RFC1315-MIB.mib";
        File file = new File(filePath);
        MibLoader ml = new MibLoader();
        Mib mib = ml.load(file);
        String mibName = mib.getName();

        System.err.println("mibName===" + mibName);
        System.err.println("-------------------------------------");
        String syntax = "";
        String access = "";
        String status = "";
        List<MibObject> list = new ArrayList<MibObject>();
        Collection c = mib.getAllSymbols();
        Iterator it = c.iterator();
        while (it.hasNext()) {
            Object obj = it.next();
            if (obj instanceof MibValueSymbol) {
                MibObject mo = new MibObject();
                MibValueSymbol mvs = (MibValueSymbol) obj;
                SnmpObjectType sot = null;
                if (mvs.getType() instanceof SnmpObjectType) {
                    sot = (SnmpObjectType) mvs.getType();
                }
                if (sot != null ) {
                    syntax = sot.getSyntax().getName();
                    access = sot.getAccess().toString();
                    status = sot.getStatus().toString();
                }
                //是否为表的列
                boolean isTableColumn = mvs.isTableColumn();
                String name = mvs.getName();
                MibValue value = mvs.getValue();
                MibValueSymbol parent = mvs.getParent();
                String parentValue = "";
                System.err.println("name==" + name);
                System.err.println("value==" + value);
                System.err.println("isTableColumn==" + isTableColumn);
                if (parent != null) {
                    parentValue = parent.getValue().toString();
                    if (parent.getParent()==null){
                        System.err.println("supperParentName======" + mibName);
                        System.err.println("supperParentValue=====" + parentValue);
                        //parent=root
                        
                    }
                    System.err.println("parentName=" + parent.getName());
                    System.err.println("parentValue=" + parent.getValue());
                    
                } else {
                }
                System.err.println("syntax=" + syntax);
                System.err.println("access=" + access);
                System.err.println("status=" + status);
                System.err.println("-------------------------------------");
                mo.setName(name);
                mo.setValue(value.toString());
                mo.setParent(parentValue);
                mo.setSyntax(syntax);
                mo.setAccess(access);
                mo.setStatus(status);
                list.add(mo);
            } 
            //System.out.println(it.next());
        }

        MibValueSymbol mvs = mib.getSymbolByOid("1.3.6.1.2.1.10");
        System.err.println("mvs.getName()=" + mvs.getName());
        System.err.println("mvs.getValue()=" + mvs.getValue());
        MibValueSymbol parent = mvs.getParent();
        System.err.println("parent=" + parent);

    }
}

分享到:
评论
2 楼 ksfsb0345299 2017-07-28  
com.sinoufc.base.monitor.item.model.MibObject;
这个是那个JAR包。求分享。谢谢
1 楼 di1984HIT 2017-07-08  
学习了~~~

相关推荐

    H3C MIB库资料下载

    "华为MIB.rar"可能包含华为全系列产品的MIB文件,而"comwaremib"可能特指使用Comware平台的H3C设备的MIB文件。Comware是H3C开发的一种网络操作系统,广泛应用于其高端交换机和路由器上。 了解MIB库,我们需要知道...

    SNMP Agent++ MIB Professional 代码生成器编译器

    你需要指定MIB文件的路径作为命令行参数,工具会根据MIB文件的内容自动生成相应的C++代码。 MIB文件采用ASN.1(抽象语法标记一号)语言编写,这是一种定义数据类型的规范,用于描述网络管理对象的结构。ASN.1编译器...

    简单的MIB浏览器

    MIB浏览器的作用就是解析这些MIB文件,将OID映射为易于理解的人类可读的名称,从而使得用户可以方便地查看和修改网络设备的状态。它通过SNMP(简单网络管理协议)与网络设备通信,SNMP是一个应用层协议,用于在管理...

    MG-MIBBrowser Compiler

    编译MIB文件能够将人类可读的文本格式转化为机器可执行的二进制形式,使得SNMP代理能够理解和处理这些管理对象。通过该工具,用户可以确保编译后的MIB文件与网络设备的管理代理兼容,从而保证数据交换的准确性和效率...

    mibbrowser

    MIB文件是网络设备、操作系统和应用软件中用于描述网络管理对象的数据结构,它们通常被用来配置和监控网络设备的状态。通过MIB浏览器,用户可以清晰地了解网络设备的配置、性能数据以及网络拓扑。 首先,让我们深入...

    MIB浏览器(MG-SOFT MIB Browser)

    MIB文件通常采用ASN.1(抽象语法标记#1)编码,它是SNMP数据的表示语言。MIB浏览器可以解析这些文件,并以人类可读的形式展示信息,使得网络管理员可以查看和修改设备的设置。 **MG-SOFT MIB Browser功能** 1. **...

    网管MIB信息解析方法

    1. **获取MIB文件**:MIB文件是描述网络设备特性的文本文件,包含了设备支持的OID和它们的含义。可以从设备制造商的官方网站上下载对应设备型号的MIB文件。 2. **MIB编译**:使用MIB编译器(如 SNMP::MIB 或 ...

    snmp移植用到的snmp官网的一个简单测试文件--NET-SNMP-TUTORIAL-MIB.txt

    MIB文件是SNMP网络管理中的核心部分,它定义了网络设备的各种管理对象和它们的结构,如接口状态、内存使用情况等。通过阅读和理解这个MIB文件,我们可以学习如何创建自己的MIB模块,并将其集成到SNMP服务器中。 在...

    mib2html

    mib2html是一个非常实用的工具,对于需要理解和处理MIB文件的网络管理者来说,它提供了一种直观、易读的方式来查看这些复杂的文件。通过将MIB文件转换为HTML,用户可以更容易地理解和搜索网络设备的管理信息,从而...

    MIB Browser

    MIB浏览器通过解析MIB文件,将这些OID与可读的变量名对应起来,使得管理人员可以更方便地理解和操作网络设备。 MIBbrowser.chm是帮助文件,包含该软件的详细使用指南和功能介绍。用户可以通过查阅此文件了解如何...

    MIB.zip_java读取mib库_mib

    MIB文件是这些定义的文本形式,通常使用ASN.1(Abstract Syntax Notation One)语言编写,包含了网络设备的状态、配置、性能数据等信息。而Java作为一种通用编程语言,具有丰富的库支持,可以用来读取和解析MIB库,...

    snmpDemo_SNMPinC#_SNMPMIB_C#的SNMP编写

    C#程序可以通过库读取MIB文件,将OID映射到可读的变量名,方便操作。 5. **SNMP GET和SET操作**:GET操作用于查询设备状态,而SET操作用于更改设备配置。在C#中,这通常通过调用库提供的方法完成,如`Snmp.Get()`和...

    Java 开发JAVA基于SNMP网络设备MIB信息采集(论文+源代码).rar

    - MIB解析:首先需要解析MIB文件,了解设备支持的OID和对应的管理对象。 - OID获取:通过SNMP GET操作获取指定OID的值,可以获取到设备的配置、性能数据等。 - 数据处理:采集到的数据可能需要进一步处理,如转换...

    mib-view.rar_Mib View_Mibview_cisco mibbrow_mib_mib-view

    MIB文件以ASCII文本格式编写,采用ASN.1(Abstract Syntax Notation One)编码,便于人读和机器解析。通过"Mib View",我们可以查看和操作MIB中的各个条目,如接口状态、路由信息、计数器等。 总的来说,"Mib View...

    MIBBrowser使用说明文档.doc

    用户可以通过 MIB Browser 将 MIB 文件编译成可读的格式,然后将其共享给其他用户。 SNMP 协议机制 SNMP 协议机制是指 Simple Network Management Protocol 的缩写,用于管理和监控网络设备。SNMP 协议机制包括三...

    JAVA基于SNMP网络设备MIB信息采集(论文+源代码+读书笔记)

    中间层在底层的基础上定义了MIB对象,负责OID与MIB对象间的转换,分析MIB信息文件以生成MIB树型结构,单个MIB变量信息查询等功能;顶层,即界面层则在中间层的基础上实现了用户界面。设计中运用Java语言,运用Java-...

    mib browser

    2. **MIB文件**:MIB文件是文本格式,包含了网络设备上可管理对象的结构化描述。这些对象包括接口状态、路由信息、计数器等。MIB浏览器读取这些文件,将设备的管理信息呈现给人类可读的形式。 3. **对象标识符(OID...

    mibbrowser.zip

    "mibbrowser.zip"这个压缩包文件中包含的是一款专业的MIB浏览器,它可以帮助用户查看并操作MIB中的各种信息,包括MIB结构、OID(Object Identifier)、syntax、access权限以及status状态等关键数据。 首先,我们来...

    mibble-mibs-2.9.3

    MIB文件是这些设备的配置和状态信息的结构化表示,它们使用ASN.1编码规则来定义对象和数据类型。Mibble作为一个MIB解析器,能够将这些复杂的文件转换为人类可读的形式,便于理解网络设备的行为和设置。 在"Mibble-...

Global site tag (gtag.js) - Google Analytics