是否有任何 Java 示例/教程来管理 IP 地址范围并在 JAVA 中使用 SNMP 进行网络发现?我找到了这个链接,但我在 Windows 上,对我来说没有用。
PS:我可以使用 ping 和线程编程,但我正在寻找特定于 SNMP 协议的东西。
任何帮助将不胜感激,因为我一直在寻找一段时间没有找到任何东西。
看看 Apache Commons-Net:
String[] addresses =
new SubnetUtils("192.168.0.0/16").getInfo().getAllAddresses();
比您可以使用 SNMP4j(例如经典的 SNMPv2-MIB::sysDescr.0)执行 snmpget 并查看您是否获得描述或 null。
如果你想做一些更复杂的事情,比如发现你的网络拓扑,你不仅需要能够进行 snmp 获取,还需要 snmpwalks。由于解析和处理所有 snmpwalk 输出可能并非易事,因此您可能需要类似 snmp2xml4j 的东西来行走、执行 xml,然后将其转换为更有用的东西。例如,netTransformer 一直在使用这种方法从原始 snmp 数据生成 graphml 文件。一旦你得到了 graphml,就很容易在上面添加你自己的可视化层。