实现需要引入snmp4j的lib,地址:http://www.snmp4j.org/html/download.htmlGET
功能的实现:
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.Variable;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
public class SNMPTest {
/**
* @param args
*/
public static final String OID_ARMCPU_INFO="1.3.6.1.2.1.1.5";
public static void main(String[] args) {
// TODO Auto-generated method stub
Address targetAddress = GenericAddress.parse("udp:192.168.1.153/161");
CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString("public"));
target.setAddress(targetAddress);
target.setTimeout(10000);
target.setVersion(SnmpConstants.version2c);
PDU pdu = new PDU();
pdu.add(new VariableBinding(new OID(OID_ARMCPU_INFO)));
pdu.setType(PDU.GETNEXT);
try {
TransportMapping transport = new DefaultUdpTransportMapping();
transport.listen();
Snmp snmp = new Snmp(transport);
ResponseEvent response = snmp.send(pdu, target);
if(response!=null){
PDU respPdu = response.getResponse();
for(int i=0;i
VariableBinding varBinding =respPdu.get(i);
Variable var = varBinding.getVariable();
System.out.println(var.toString());
}
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}