⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testop.java

📁 用snmp4j开发包读取服务器oid信息
💻 JAVA
字号:
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 TestOp {

    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("192.168.0.60/161"));//设置IP地址和端口号,这里竟然用'/'来分  
                                                                                                   //隔,当初确实没有料到,JDOC的说明等于没有.
            target.setRetries(2);                      //设置重试次数
            target.setTimeout(5000);             //设置超时
            
            snmp.listen();                                 //监听
            PDU request = new PDU();         //new request PDU包
            //set pud type and set oid
            request.setType(PDU.GET);        //设置PDU类型,
         //   request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1.1.0"))); //OID添加
            request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1.3.0")));
            
            System.out.println("request UDP:" + request);//请求包内内容输出,
            PDU response = null;//定义response包
            
        //    for(int i=0;i<3;i++){
            	
            ResponseEvent responseEvent = snmp.send(request, target); //发出request PDU
            //接收response PDU
            response = responseEvent.getResponse();
           
                //response PDU包解析
           // System.out.println(response);
          
            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);
                    
                }else{
                    System.out.println("get error:"+response.getErrorStatusText());
                }
                
            }else{
                System.out.println("get response error");
            }
            
            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       }
   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -