📄 settest.java
字号:
/*
* 创建日期 2007-10-18
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package cn.settest;
import java.io.IOException;
import org.snmp4j.*; //new--------------------------
import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.*; //new-----------------------
//import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.*; //new----------------------
//import org.snmp4j.smi.OID;
//import org.snmp4j.smi.OctetString;
//import org.snmp4j.smi.UdpAddress;
//import org.snmp4j.smi.Variable;
//import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.*; //new
//import org.snmp4j.transport.DefaultUdpTransportMapping;
import org.snmp4j.util.*; //new----------------------
import org.snmp4j.security.*; //new------------------
public class Settest {
public static void main(String[] args) {
Settest aa=new Settest();
aa.test("private","192.168.100.1","161","1.3.6.1.2.1.69.1.1.3.0",1);
}
public void test(String community,String ip,String port,String Oid,int value) {
try{
Snmp snmp = new Snmp(new DefaultUdpTransportMapping());
CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString(community));
target.setVersion(SnmpConstants.version1);
target.setAddress(new UdpAddress(ip+"/"+port));
target.setRetries(1);
target.setTimeout(2000);
snmp.listen();
PDU request = new PDU();
request.setType(PDU.SET);
//----------------------(已解决)!!!!!!!!!!!!!!!set消息的格式好像有点问题!!!!!!!!!!!!!----------------------
// request.addOID(new VariableBinding(new OID(Oid),new OctetString(value)));
VariableBinding vb=new VariableBinding(new OID(Oid));
// System.out.println(Oid); //new-----------------------------
// System.out.println(vb); //new------------------------------
Variable variable;
variable=new Integer32(Integer.parseInt("1"));
vb.setVariable(variable);
// System.out.println(vb); //new------------------------------
request.add(vb);
//-----------------------request.add(new VariableBinding(new OID(Oid),value));-------------------
System.out.println("发送的UDP:" + request);
PDU response = null;
ResponseEvent responseEvent = snmp.send(request, target);
response = responseEvent.getResponse();
if(response!=null){
if(response.getErrorStatus()==PDU.noError){
String pause=responseEvent.getResponse().getVariableBindings().toString();
/*getvalue的值为对应OID的值*/
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"+response);
}
else{
System.out.println(response.getErrorStatusText());
}
}
else{
System.out.println("Error!!");
}
}
catch (IOException e) {
e.printStackTrace();
}
//}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -