在JAVA中使用SNMP进行网络发现

时间:2013-07-21 11:06:19

标签: java networking ip snmp snmp4j

是否有任何Java示例/教程来管理IP地址范围并使用JAVA中的SNMP进行网络发现? 我找到了这个link,但我在Windows上,在我的情况下没用。

PS:我可以使用ping和线程编程,但我正在寻找特定于SNMP协议的东西。

任何帮助都会受到赞赏,因为我一直在搜索没有找到的东西。

2 个答案:

答案 0 :(得分:1)

看一下Apache Commons-Net

String[] addresses = 
       new SubnetUtils("192.168.0.0/16").getInfo().getAllAddresses();

您可以使用SNMP4j执行snmpget(例如经典的SNMPv2-MIB :: sysDescr.0)并查看是否获得描述或为null。

答案 1 :(得分:0)

如果你想做更复杂的事情,比如发现网络的拓扑结构,你不仅需要能够进行snmp获取,还需要snmpwalk。因为解析和处理所有snmpwalk输出可能不是一件容易的事情,你可能需要像snmp2xml4j那样走路,做一个xml然后把它转换成更有用的东西。例如,netTransformer一直使用该方法从原始snmp数据生成graphml文件。获得graphml后,可以轻松地在顶部添加自己的可视化层。