import java.io.IOException; import java.net.InetAddress; import java.util.Vector; import org.snmp4j.AbstractTarget; 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.UdpAddress; import org.snmp4j.smi.VariableBinding; import org.snmp4j.transport.DefaultUdpTransportMapping; public class SNMP_oper ... { public static void main(String[] args) ...{ try ...{ Address targetAddress = GenericAddress.parse("udp:127.0.0.1/161"); TransportMapping transport = new DefaultUdpTransportMapping(); Snmp snmp = new Snmp(transport); transport.listen();//监听 CommunityTarget target = new CommunityTarget(); target.setCommunity(new OctetString("public"));//设置共同体名 target.setAddress(targetAddress);//设置目标Agent地址 target.setRetries(2);//重试次数 target.setTimeout(5000);//超时设置 target.setVersion(1);//版本 PDU request = new PDU(); request.setType(PDU.GET);//操作类型GET request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1.1.0")));//OID_sysDescr request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1.2.0")));//OID_sysObjectID request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1.3.0")));//OID_sysUpTime System.out.println("Request UDP:" + request); ResponseEvent respEvt = snmp.send(request, target); //读取得到的绑定变量 if (respEvt != null && respEvt.getResponse()!=null) ...{ Vector <VariableBinding> revBindings = respEvt.getResponse().getVariableBindings(); for (int i=0; i<revBindings.size();i++) ...{ VariableBinding vbs = revBindings.elementAt(i); System.out.println(vbs.getOid()+":"+vbs.getVariable()); } } } catch (IOException e) ...{ e.printStackTrace(); } }}