`
hongliangpan
  • 浏览: 313319 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

weblogic中snmp的使用

一些概念:
 SNMP: 简单网络管理协议,SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。目前, SNMP 有 3 种: SNMPV1 、 SNMPV2 、 SNMPV3。第 1 版和第 2 版没有太大差距,但 SNMPV2 是增强版本,包含了其它协议操作。与前两种相比, SNMPV3 则包含更多安全和远程配置。为了解决不同 SNMP 版本间的不兼容问题, RFC3584 种定义了三者共存策略。
SNMP OID: SNMP Object Identifiers(对象标示符),SNMP对象标识符(OID)是定义在特定MIB模式中的值,来定义一个特定的在MIB数据库中SNMP目标。 SNMP OID是划界序列数字组成a.b.c...x.y.z的周期。它对信息的一个项目是一个独特的标识符,其是一个MIB的一部分。典型的OIDs能够有与它 们相关的名字。OIDs在自然中是分等级的。因此1.2.3出现在1.3之前但是在1.2之后。MIB 会为其描述的每个受管对象分配一个唯一的、不可变的编号,称为对象标识符(Object Identifier,简称 OID)。每个 OID 包含一个从左到右的整数序列。此序列定义 MIB 树中的对象的位置,并指定通过树到达此对象的唯一路径。此路径中的每个节点均有一个编号和一个与编号关联的名称。 
    路径 .1.3.6.1.4.1 定义 private.enterprises OID,树上此节点下的每个编号代表树中为特定供应商(如 BEA)保留的分支。BEA MIB 注册在树中的位置 .1.3.6.1.4.1.140,WebLogic Server MIB 包含 .1.3.6.1.4.1.140.625 下的所有 OID
管理信息库(MIB) 是一个具有分层特性的信息的集合,我们可以通过 SNMP 去存取它。MIB 的成员是一些被管理的对象(Managed Object),以对象标示符(Object Identifiers)来区分它们。


在bea目录下有一个BEA-WEBLOGIC-MIB.asn1文件,保存了snmp的配置,具体配置的含义可以参照:http://e-docs.bea.com/wls/docs81/snmp/index.html

如果想加入自己的OID,可以将将OID 相应的包放到 %WL_HOME%\server\lib\mbeantypes 目录下就可以了(这个我也没有试过)

要使用weblogic的snmp功能首先要在weblogic的控制台中启用snmp功能,然后就可以使用oid来获得堆栈、内存等使用信息了


在weblogic中提供了1万多的oid可以给第三方软件使用,我们也可以使用unix自带的snmpwalk命令去取得各个oid的值,以下列出几个例子:
# jvm runtime Heap size
snmpwalk 
- v 2c  - public   192.168 . 88.160 : 161  . 1.3 . 6.1 . 4.1 . 140.625 . 340.1 . 30

#host used memory (by jrockit jdk)
snmpwalk 
- v 2c  - public   192.168 . 88.160 : 161   1.3 . 6.1 . 4.1 . 140.625 . 302.1 . 40

#The number of idle threads assigned to the queue
snmpwalk 
- v 2c  - public   192.168 . 88.160 : 161   1.3 . 6.1 . 4.1 . 140.625 . 180.1 . 25.32 . 48.101 . 49.102 . 50.102 . 52.97 . 51.101 . 102.102 . 100.98 . 57.56 . 55.53 . 57.54 . 56.98 . 98.101 . 51.53 . 54.100 . 101.52 . 57.53

#The date and time that the longest waiting request was placed 
in  the queue  -- 900563304
snmpwalk 
- v 2c  - public   192.168 . 88.160 : 161  . 1.3 . 6.1 . 4.1 . 140.625 . 180.1 . 30.32 . 48.101 . 49.102 . 50.102 . 52.97 . 51.101 . 102.102 . 100.98 . 57.56 . 55.53 . 57.54 . 56.98 . 98.101 . 51.53 . 54.100 . 101.52 . 57.53

其中第二个oid和jrockit有关,所有和jrockit有关的oid在默认情况下都是不可以使用的,必须在weblogic启动时将jdk改为jrockit jdk才可以,这个是bea公司自己的jdk

在java中我们也可以使用snmp4j去存取snmp的值,进行远程控制,下面一段代码就是用来取得所有的oid的:

package test;

import java.io.IOException;
import java.net.InetAddress;

import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.
event .ResponseEvent;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.UdpAddress;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;

public   class  test1 {

    
public   static   void  main(String[] args)
    
{
        
try {
            Snmp snmp 
=   new  Snmp( new  DefaultUdpTransportMapping());
            CommunityTarget target 
=   new  CommunityTarget(); // agent对象
            target.setCommunity( new  OctetString( " public " )); // 设置共同体名,没发现设置RWCommnity的方法,大概只能设一个.
            
            target.setVersion(SnmpConstants.version1);
// 设置版本
            target.setAddress( new  UdpAddress( " 127.0.0.1/161 " )); // 设置IP地址和端口号,这里竟然用'/'来分隔,当初确实没有料到,JDOC的说明等于没有.
            target.setRetries( 1 );                       // 设置重试次数
            target.setTimeout( 5000 );              // 设置超时
            
            snmp.listen();                                 
// 监听
            
            String m_oid 
=   " 1.3.6.1.4.1.140.625.10.1.0 " ;
            
int  w = 0 ;
            
while ( true {
                w
++ ;
                
// set pud type and set oid
                PDU request  =   new  PDU();          // new request PDU包
                request.setType(PDU.GETNEXT);  // 设置PDU类型,
                
//             request.add(new VariableBinding(new OID("1.3.6.1.2.1.1")));  // OID添加
                
//             request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1")));  // OID添加
                request.add( new  VariableBinding( new  OID(m_oid)));
//                 System.out.println("request UDP:" + request); // 请求包内内容输出,
                PDU response  =   null ; // 定义response包
                ResponseEvent responseEvent  =  snmp.send(request, target);  // 发出request PDU
                
// 接收response PDU
                response  =  responseEvent.getResponse();

                
// response PDU包解析
                 if  (response  !=   null {
                    
if  (response.getErrorIndex()  ==  response.noError
                            
&&  response.getErrorStatus()  ==  response.noError)  {
//                         System.out.println("no error.");
                        String pause  =  responseEvent.getResponse()
                                .getVariableBindings().toString();
                        String getvalue 
=  pause.substring(
                                pause.indexOf(
" " +   2 , pause.indexOf( ' ] ' ));
                        String oid 
=  pause.substring(pause.indexOf( " VBS[ " +   2 ,
                                pause.indexOf(
" = " -   1 );
                        System.
out .println(oid);
//                         System.out.println(response);
                        m_oid  =  oid;

                    }
  else   {
                        System.
out .println( " get error: "
                                
+  response.getErrorStatusText());
                        
break ;
                    }


                }
  else   {
                    System.
out .println( " get response error " );
                    
break ;
                }

                
                
if  (m_oid.equals( " 1.3.6.1.4.1.140.625.10.1.0 " ))  {
                    
break ;
                }

            }

            System.
out .println( " ::::::: "   +  w);
            
        }
  catch  (IOException e) {
            
//  TODO Auto-generated catch block
            e.printStackTrace();
        }

        
    }

}


要特别注意ip、端口、版本号、community和配置的一致
分享到:
评论

相关推荐

    WEBLOGIC SNMP监控方案.doc

    SNMP是标准的网络管理协议,所有的标准厂商的设备(硬件、应用中间件)都支持这个协议标准,提供了各种设备的MIB信息库,以便于监控系统软件通过设备MIB库直接获取底层性能数据,达到实时监控的目的。目前支持SNMP...

    Oracle WebLogic Server开发权威指南

    书中描述的很多技术、框架、部署技术和管理工具都要求使用这个版本的WebLogic Server 和最新 版本的Java EE 环境以及相关的各种库和框架。本书中构建的主要示例应用程序bigrez.com 要求 使用WebLogic Server 11g。 ...

    weblogic快速入门

    资料是公司内部培训的,非常真贵,包括从weblogic的介绍、安装、管理、domain的创建管理,程序的部暑、JMS、JDBC、JNDI、JTA、SNMP、集群(Cluster)、服务器的负载均衡、weblogic的日常维护、性能调优、故障排查,...

    soa_rest_api:适用于 Oracle SOA Suite 的 REST API - 用 JRuby 编写并使用 Rails

    与 SNMP 和其他管理标准一样,JMX 是一个公共规范,许多常用监控产品的供应商都支持它。 WebLogic Server 提供了一组 MBean,可用于通过 JMX 配置、监视和管理 WebLogic Server 资源。 Ruby 版本 - 仅在 JRuby ...

    安全运维那些漏洞(目录版)

    snmp信息泄露 weblogic弱口令 SVN信息泄露 域传送漏洞 Rsync hadoop对外 nagios信息泄露 ftp弱口令或支持匿名访问导致信息泄露 RTX泄露信息 Ganglia信息泄露 j2ee应用架构开始占主流,典型的web服务器搭配配置失误 ...

    网络安全培训方案.docx

    第五节:清理痕迹 清理痕迹实验 第六节:渗透测试 第五天 系统枚举和嗅探 第一节:netbios枚举 NetBIOS枚举实验 第二节:snmp枚举 Snmp枚举实验 第三节:mac攻击 第四节:DHCP攻击 第五节:arp攻击 第六节:嗅探工具...

    高级java笔试题-Security_Learning:全民安全学习~

    高级java笔试题 Security_Learning 项目地址: 分享一些平时工作生活中遇到的不错的项目,...Struct、weblogic、telnet、Cisco ASA、Micros等仿真蜜罐 Cymmetria公司开源蜜罐框架,低交互 可扩展蜜罐框架,支持探针部

    网络安全培训方案(1).docx

    第六节:渗透测试 第五天 系统枚举和嗅探 第一节:netbios枚举 NetBIOS枚举实验 第二节:snmp枚举 Snmp枚举实验 第三节:mac攻击 第四节:DHCP攻击 第五节:arp攻击 第六节:嗅探工具 cain工具的使用 Ettercap工具的...

    服务器指标要求(2021整理).docx

    光纤通道交换机端口数量 >=8 端口类型 FC-SW,每端口速率>=200MB/s 管理软件 提供高可用性管理软件 可管理性 支持TELNET,WEB,SNMP等 二、国家级数据处理软件环境要求 BEA Weblogic Server 8.1 Premium Edition BEA ...

    服务器指标要求:.docx

    光纤通道互换机端口数量 >=8 端口类型 FC-SW,每端口速率>=200MB/s 治理软件 提供高可用性治理软件 可治理性 支持TELNET,WEB,SNMP等 二、国度级数据处置惩罚软件情况要求 BEA Weblogic Server 8.1 Premium Edition ...

    网络安全培训方案(1).doc

    " " " " " "探 " " " " " " "第二节:snmp枚举 "Snmp枚举实验 " " " " "第三节:mac攻击 " " " " " "第四节:DHCP攻击 " " " " " "第五节:arp攻击 " " " " " "第六节:嗅探工具 "cain工具的使用 " " " " " ...

    网络安全培训方案(2).docx

    第一节:netbios枚举 NetBIOS枚举实验 第二节:snmp枚举 Snmp枚举实验 第三节:mac攻击 第四节:DHCP攻击 第五节:arp攻击 第六节:嗅探工具 cain工具的使用 Ettercap工具的使用 第六天 第一章:web服务器的banner...

    网络安全培训方案(2).doc

    4)、学会使用常见得渗透测试工具如burpsuite、SQLmap等等 5)、了解常见得系统攻击过程及手段 6)、学会常见得系统攻击方法 7)、学会Web服务器得信息获取 8)、学会IIS、Apache、tomcat、Weblogic等常见...

    网络安全与态势感知采购要求.doc

    通过使用syslo" " " " "g、snmptrap、ftp等方式实现数据采集,能分别采集业务内网和外网中的所" " " " "有日志数据并归一化处理,包括且不限于交换机、路由器、防火墙、网 " " " " "闸、流控、日志审计、漏洞扫描、...

    中标麒麟服务器操作系统介绍.pdf

    基于Linux内核,使用GNU 工程的 各种工具和软件的操作系统。 中标麒麟服务器操作系统 中标软件研发、发行的国产Linux 服务器操作系统。 针对关键业务及数据负载而构建的 高可靠、易管理、一架式Linux服务 器操作...

    JAVA上百实例源码以及开源项目

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    JAVA上百实例源码以及开源项目源代码

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

Global site tag (gtag.js) - Google Analytics