使用snmp4j实现Snmp功能(一)
2014-05-28 08:42
387 查看
from: /article/7749988.html
分类: 通信2008-04-2516:20 11318人阅读 评论(27) 收藏 举报
相关链接:
Snmp学习笔记
使用snmp4j实现Snmp功能(一)
使用snmp4j实现Snmp功能(二)
使用snmp4j实现Snmp功能(三)
插播一段声明:楼主我其实就用了小半年的Snmp而已,就把学习心得发了出来,目的就是能够引导大家入门,但是更深入的知识我就不知道啦。请大家不要再问我问题了,我知道的都已经写出来啦,谢谢!
上一篇有关Snmp的文章已经是一年前写的了,因为工作等各种原因,一直没有继续下去。但是不管怎么样,包括AppFuse,虽然速度有点慢,我还是会坚持学习并将心得写下去。
上一篇文章讲了Snmp的一些基本概念(Snmp学习笔记),接下来,我们使用Java的开源组件snmp4j来实现一下Snmp里的各种功能。首先是上一篇文章中的那个例子。即通过snmp获取机器名。
snmp4j的jar包可以在它的官方网站http://www.snmp4j.org/上下载,我就不啰嗦了。
接下来直接贴代码:
使用snmp4j实现Snmp功能(一)
分类: 通信2008-04-2516:20 11318人阅读 评论(27) 收藏 举报相关链接:
Snmp学习笔记
使用snmp4j实现Snmp功能(一)
使用snmp4j实现Snmp功能(二)
使用snmp4j实现Snmp功能(三)
插播一段声明:楼主我其实就用了小半年的Snmp而已,就把学习心得发了出来,目的就是能够引导大家入门,但是更深入的知识我就不知道啦。请大家不要再问我问题了,我知道的都已经写出来啦,谢谢!
上一篇有关Snmp的文章已经是一年前写的了,因为工作等各种原因,一直没有继续下去。但是不管怎么样,包括AppFuse,虽然速度有点慢,我还是会坚持学习并将心得写下去。
上一篇文章讲了Snmp的一些基本概念(Snmp学习笔记),接下来,我们使用Java的开源组件snmp4j来实现一下Snmp里的各种功能。首先是上一篇文章中的那个例子。即通过snmp获取机器名。
snmp4j的jar包可以在它的官方网站http://www.snmp4j.org/上下载,我就不啰嗦了。
接下来直接贴代码:
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"); TransportMappingtransport = new DefaultUdpTransportMapping(); snmp = new Snmp(transport); transport.listen(); } public void sendPDU() throws IOException { // 设置 target CommunityTargettarget = new CommunityTarget(); target.setCommunity(new OctetString("public")); target.setAddress(targetAddress); // 通信不成功时的重试次数 target.setRetries(2); // 超时时间 target.setTimeout(1500); target.setVersion(SnmpConstants.version1); // 创建 PDU PDUpdu = new PDU(); pdu.add(new VariableBinding(new OID(new int[] { 1, 3, 6, 1, 2, 1, 1, 5, 0 }))); // MIB的访问方式 pdu.setType(PDU.GET); // 向Agent发送PDU,并接收Response ResponseEvent respEvnt= snmp.send(pdu, target); // 解析Response if (respEvnt!= null &&respEvnt.getResponse()!= null) { Vector<VariableBinding>recVBs = respEvnt.getResponse() .getVariableBindings(); for (int i = 0; i <recVBs.size(); i++) { VariableBindingrecVB = recVBs.elementAt(i); System.out.println(recVB.getOid()+ " : " +recVB.getVariable()); } } } public static void main(String[] args) { try { SnmpUtilutil = new SnmpUtil(); |
相关文章推荐
- 使用snmp4j实现Snmp功能(一)
- 使用snmp4j实现Snmp功能(二)
- 使用snmp4j实现Snmp功能(二)
- 使用snmp4j实现Snmp功能(一)
- 使用snmp4j实现Snmp功能(一)
- 使用snmp4j实现Snmp功能(三)
- 使用snmp4j实现Snmp功能(二)
- 使用snmp4j实现Snmp功能(三)
- 使用snmp4j实现Snmp功能(一)
- 使用snmp4j实现Snmp功能
- 使用snmp4j实现Snmp功能(二)
- 使用snmp4j实现Snmp功能(一)
- 使用snmp4j实现Snmp功能(一)
- 使用snmp4j实现Snmp功能(二)
- 使用snmp4j实现Snmp功能(二)
- 使用snmp4j实现Snmp功能(二)
- 使用snmp4j实现Snmp功能(三)
- 使用snmp4j实现Snmp功能(一)
- 使用snmp4j实现Snmp功能(一)
- 使用snmp4j实现Snmp功能(三)