package com.voicevodes.snmp.demo;
import java.io.IOException;
import java.util.Vector;
 
import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.TransportMapping;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
public class SnmpUtil {
    private Snmp snmp = null;
    private Address targetAddress = null;
    public void initComm() throws IOException {
          
           // 设置Agent方的IP和端口
           targetAddress = GenericAddress.parse("udp:127.0.0.1/161");
           TransportMapping transport = new DefaultUdpTransportMapping();
           snmp = new Snmp(transport);
           transport.listen();
    }
    public ResponseEvent sendPDU(PDU pdu) throws IOException {
           // 设置 target
           CommunityTarget target = new CommunityTarget();
           target.setCommunity(new OctetString("public"));
           target.setAddress(targetAddress);
           // 通信不成功时的重试次数
           target.setRetries(2);
           // 超时时间
           target.setTimeout(1500);
           target.setVersion(SnmpConstants.version2c);
           // 向Agent发送PDU,并返回Response
           return snmp.send(pdu, target);
    }
   
    public void setPDU() throws IOException {
           // set PDU
           PDU pdu = new PDU();
           pdu.add(new VariableBinding(new OID(new int[] { 1, 3, 6, 1, 2, 1, 1, 5, 0 }), new OctetString("SNMPTEST")));
           pdu.setType(PDU.SET);
           sendPDU(pdu);
    }
   
    public void getPDU() throws IOException {
           // get PDU
           PDU pdu = new PDU();
           pdu.add(new VariableBinding(new OID(new int[] { 1, 3, 6, 1, 2, 1, 1, 3, 0 })));
           pdu.setType(PDU.GET);
           readResponse(sendPDU(pdu));
    }
   
    public void readResponse(ResponseEvent respEvnt) {
           // 解析Response
           if (respEvnt != null && respEvnt.getResponse() != null) {
                  Vector<VariableBinding> recVBs =(Vector<VariableBinding>) respEvnt.getResponse().getVariableBindings();
                  for (int i = 0; i < recVBs.size(); i++) {
                         VariableBinding recVB = recVBs.elementAt(i);
                         System.out.println(recVB.getOid() + " : " + recVB.getVariable());
                  }
           }
    }
   
    public static void main(String[] args) {
           try {
                  SnmpUtil util = new SnmpUtil();
                  util.initComm();
                  util.setPDU();
                  util.getPDU();
           } catch (IOException e) {
                  e.printStackTrace();
           }
    }
}
 最近下载更多
最近下载更多
                
                honglonghua     LV1
                2023年2月9日
            
            
        
                yzh_falcon     LV3
                2022年10月18日
            
            
        
                qwaszx123123     LV1
                2022年9月17日
            
            
        
                gaotieyou     LV5
                2022年4月19日
            
            
        
                xingbing     LV9
                2022年2月9日
            
            
        
                余长城     LV4
                2022年1月29日
            
            
        
                巨魔     LV1
                2021年9月6日
            
            
        
                newbag     LV9
                2021年8月9日
            
            
        
                wc2021     LV1
                2021年7月4日
            
            
        
                lz88888     LV12
                2021年6月4日
            
            
         最近浏览更多
最近浏览更多
                
                kenhomeliu     LV29
                2024年4月30日
            
            
        
                yzh_falcon     LV3
                2022年10月18日
            
            
        
                zw050256     LV7
                2022年9月30日
            
            
        
                qwaszx123123     LV1
                2022年9月17日
            
            
        
                GZW012345     LV8
                2022年5月21日
            
            
        
                13165798872     LV11
                2022年5月17日
            
            
        
                zlfsgg     LV3
                2022年4月26日
            
            
        
                gaotieyou     LV5
                2022年4月19日
            
            
        
                xingbing     LV9
                2022年2月9日
            
            
        
                余长城     LV4
                2022年1月29日
            
            
        
 
     
                 
                