snmp4j读取mib库

霍恩斯 2008-03-27 04:19:04
我刚开始学,用网上的例子试了下
import java.io.IOException;

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 Test {
public static void main(String[] args) {
Address targetAddress = GenericAddress.parse("udp:192.168.2.1/161");

CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString("public"));
target.setAddress(targetAddress);
target.setTimeout(10000);
target.setVersion(SnmpConstants.version1);
// creating PDU
PDU pdu = new PDU();

pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.3")));
pdu.setType(PDU.GET);
System.out.println("request UDP:" + pdu);

try {
TransportMapping transport = new DefaultUdpTransportMapping();
Snmp snmp = new Snmp(transport);
snmp.listen() ;
ResponseEvent response = snmp.send(pdu, target);
if (response!=null)
System.out.println(response);

} catch (IOException e) {
e.printStackTrace();
}
}
} 为什么显示的结果老是org.snmp4j.event.ResponseEvent[source=org.snmp4j.Snmp@dd5b]这个呢
是不是之前要把RFC1213.mib添加进去呢?
...全文
1204 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangjun80 2009-08-27
  • 打赏
  • 举报
回复
请大家到Q群89902419
一起交流下心得吧
laobaijia 2009-03-27
  • 打赏
  • 举报
回复
你这样出的结果肯定是这个,就相当于你直接输出类而不是是输出类里面的变量,应该对response作进一步操作,类似这样的
if (response.getResponse() != null) {
PDU respPdu = response.getResponse();
for (int i = 0; i < respPdu.size(); i++) {
VariableBinding varBinding = respPdu.get(i);
Variable var = varBinding.getVariable();
System.out.println(var.toString());
}
} else {
System.out.println("request time out");
}
zenithsoftware 2008-10-31
  • 打赏
  • 举报
回复
不错,指教
robinluyi 2008-08-30
  • 打赏
  • 举报
回复
try {
TransportMapping transport = new DefaultUdpTransportMapping();
Snmp snmp = new Snmp(transport);
snmp.listen() ;
ResponseEvent responseEvent = snmp.send(pdu, target);
PDU response = null;//定义response包
response = responseEvent.getResponse();//接收response PDU

if (response!=null)
System.out.println(response);

}

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧