• ObjectSNMP


    下面的例子,就是使用ObjectSNMP获取RFC1213-MIB的例子:其中的system和ifTable对象就是对应的SNMPMIB中的system组合interface中的ifTable表。 

    public class TestMibMapping 
    { 
        SNMPAPI snmpapi; 
    
        SNMPNodeParam nodeParam; 
    
        public TestMibMapping() 
        { 
            try 
            { 
                /** 
                 * 初始化系统日志文件。 
                 */ 
                MyLog.initLogParam("SNMPTest"); 
    
                //使用客户端模式。需要先启用ObjectSNMP的RMI服务(例如:运行RMISNMPServer.java)。 
                //SNMPFactory.init(SNMPFactory.Mode_Client, "127.0.0.1"); 
    
    
                //使用本地模式。 
                SNMPFactory.init(SNMPFactory.Mode_Local, null); 
    
                // 获取SNMP API 
                snmpapi = SNMPFactory.getSNMPAPI(); 
    
                //设置SNMP Agent连接参数 
                nodeParam = new SNMPNodeParam(); 
                nodeParam.nodeIP = "127.0.0.1"; 
    
            } catch (Exception ex) 
            { 
                ex.printStackTrace(); 
            } 
    
        } 
    
        /** 
         * 测试RFC1213中System组 
         */ 
        public void testMibSystem() 
        { 
            try 
            { 
                system sys = new system(); 
                system mibsys = (system) snmpapi.getMibObject(sys, nodeParam); 
                System.out.println("...........MIBSystem"); 
                System.out.println("系统名称:" + mibsys.getSysName()); 
                System.out.println("描述:" + mibsys.getSysDescr()); 
                System.out.println("系统位置:" + mibsys.getSysLocation()); 
                System.out.println("联系人:" + mibsys.getSysContact()); 
                System.out.println("系统对象ID:" + mibsys.getSysObjectID()); 
                System.out.println("系统服务:" + mibsys.getSysServices()); 
                System.out.println("启动时间:" + mibsys.getSysUpTime()); 
         } catch (Exception ex) 
            { 
                ex.printStackTrace(); 
    
    
            } 
        } 
    
        /** 
         * 测试RFC1213中接口表 
         */ 
        public void testMibIFTable() 
        { 
            try 
            { 
                java.util.List list = snmpapi.getAllTableData(ifTable.class, 
                    nodeParam); 
                System.out.println(".............网络接口个数:" + list.size()); 
                for (int i = 0; i < list.size(); i++) 
                { 
                    ifTable table = (ifTable) list.get(i); 
                    Object obj=snmpapi.getMibObject(table,nodeParam); 
                    System.out.println(obj); 
                    System.out.println("" + i + "个接口名称:" + table.getIfDescr()); 
                    System.out.println("" + i + "个接口物理地址:" + 
                                       table.getIfPhysAddress()); 
                    System.out.println("" + i + "个接口速度:" + table.getIfSpeed()); 
                    System.out.println("" + i + "个接口工作状态:" + table.getIfOperStatus()); 
                } 
    
            } catch (Exception ex) 
            { 
                ex.printStackTrace(); 
    
            } 
        } 
    
        /** 
         * 在本机测试从windows xp的SNMP Agent查询数据。(参见如何启动xp的SNMP Agent服务) 
         * @param args String[] 
         */ 
        public static void main(String args[]) 
        { 
            try 
            { 
    
                TestMibMapping test = new TestMibMapping(); 
                test.testMibIFTable(); 
                test.testMibSystem(); 
    
    
            } catch (Exception ex) 
            { 
                ex.printStackTrace(); 
            } 
        } 
    
    }
  • 相关阅读:
    隔行扫描 和 逐行扫描
    CSS3--关于z-index不生效问题
    vue与其他框架对比
    跨域(转)
    vue 事件修饰符(阻止默认行为和事件冒泡)
    vue 3.0新特性
    bash leetcode
    数据库
    css排版
    盒模型
  • 原文地址:https://www.cnblogs.com/Dhouse/p/3419323.html
Copyright © 2020-2023  润新知