【问题标题】:Network discovery using SNMP in JAVA在 JAVA 中使用 SNMP 进行网络发现
【发布时间】:2013-07-21 11:06:18
【问题描述】:

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

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

任何帮助将不胜感激,因为我已经搜索了一段时间,但一无所获。

【问题讨论】:

  • 您到底想发现什么?
  • 我想发现我网络上所有连接的 snmp 设备
  • 你知道他们为 Windows 提供 Nmap,对吧?为什么要重新发明轮子? nmap.org/download.html#windows

标签: java networking ip snmp snmp4j


【解决方案1】:

看看阿帕奇Commons-Net

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

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

【讨论】:

    【解决方案2】:

    如果您想做一些更复杂的事情,比如发现网络拓扑,您不仅需要能够进行 snmp 获取,还需要 snmpwalks。由于解析和处理所有 snmpwalk 输出可能并非易事,因此您可能需要类似 snmp2xml4j 的东西来行走、执行 xml,然后将其转换为更有用的东西。例如,netTransformer 一直在使用这种方法从原始 snmp 数据生成 graphml 文件。一旦你得到了 graphml,就很容易在上面添加你自己的可视化层。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-16
      • 1970-01-01
      相关资源
      最近更新 更多