使用Java进行SNMP编程-SNMP4J-代码实例

使用Java进行SNMP编程-SNMP4J-代码实例

ID:40494618

大小:34.31 KB

页数:11页

时间:2019-08-03

使用Java进行SNMP编程-SNMP4J-代码实例_第1页
使用Java进行SNMP编程-SNMP4J-代码实例_第2页
使用Java进行SNMP编程-SNMP4J-代码实例_第3页
使用Java进行SNMP编程-SNMP4J-代码实例_第4页
使用Java进行SNMP编程-SNMP4J-代码实例_第5页
资源描述:

《使用Java进行SNMP编程-SNMP4J-代码实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、使用SNMP4J可以很方便的实现一个SNMPNMS的功能。对于SNMPv1/SNMPv2,简单的说,只需要以下几个步骤1)创建Snmp对象snmp2)创建CommunityTarget对象target,并指定community,version,address,timeout,retry等参数。3)创建PDU对象pdu,并指定操作类型(GET/GETNEXT/GETBULK/SET),添加VariableBinding(也就是待操作的OID),   如果是GETBULK操作,还可以指定MaxRepetitions和NonRepeaters。 注意一定要

2、指定MaxRepetitions,默认值是0,那样不会返回任何结果。4)调用snmp.send(pdu,target)方法,发送请求请返回结果。此外,SNMP4J提供了TableUtils类,可以很轻松的实现一个SNMPWalk的功能,比如一次返回一个表格下面的所有MIB值。TableUtils类还支持指定owerboundindex和upperboundindex,得到更小范围的结果以提高性能。这一点对于从一个很多行的表中取一部分行的数据来说很重要。Snmp还支持异步的send方法。下面的代码实例实现了GET,GETNEXT,GETBULK,Wal

3、k,SET操作,以及一个利用异步send方法实现的agentdiscovery:对一个广播地址发送请求,等待agent返回的应答。如果需要对一个范围内的IP进行扫描,可以稍加改进,反复调用异步send多次发送给不同IP。[java]viewplaincopyprint?1.import java.io.IOException;  2.import java.util.List;  3.import java.util.Vector;  4.  5.import org.snmp4j.CommunityTarget;  6.import org.snm

4、p4j.PDU;  7.import org.snmp4j.Snmp;  8.import org.snmp4j.event.ResponseEvent;  9.import org.snmp4j.event.ResponseListener;  10.import org.snmp4j.mp.SnmpConstants;  1.import org.snmp4j.smi.OID;  2.import org.snmp4j.smi.OctetString;  3.import org.snmp4j.smi.UdpAddress;  4.import 

5、org.snmp4j.smi.VariableBinding;  5.import org.snmp4j.transport.DefaultUdpTransportMapping;  6.import org.snmp4j.util.DefaultPDUFactory;  7.import org.snmp4j.util.TableEvent;  8.import org.snmp4j.util.TableUtils;  9.  10.public class SNMPv2Test {  11.    public static void main(

6、String[] args) throws IOException, InterruptedException {  12.        Snmp snmp = new Snmp(new DefaultUdpTransportMapping());  13.        snmp.listen();  14.          15.        CommunityTarget target = new CommunityTarget();  16.        target.setCommunity(new OctetString("pub

7、lic"));  17.        target.setVersion(SnmpConstants.version2c);  18.        target.setAddress(new UdpAddress("192.168.0.100/161"));  19.        target.setTimeout(3000);    //3s  20.        target.setRetries(1);  21.                  22.        sendRequest(snmp, createGetPdu(), 

8、target);  23.        sendRequest(snmp, createGetNextPd

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。