使用Snmp4j进行网络发现

时间:2012-11-16 12:00:05

标签: java networking snmp snmp4j autodiscovery

我需要使用Snmp4j实现网络发现机制。我试图找到关于这种机制的例子但是找不到有效的机制。是否有任何java示例/教程来管理IP地址范围并进行发现?

3 个答案:

答案 0 :(得分:3)

Nmap怎么办?

nmap x.x.x.x/x -sU -p U:161 

上面的命令将返回网络中所有具有SNMP服务监听功能的计算机。 Nmap还具有XML输出(-oX filename.xml),可以使用Java或任何其他语言轻松解析。

答案 1 :(得分:1)

你的问题需要更具体一点。

  • 你想知道snmp4j吗?如果是这样,您在website上错过了什么?
  • 您是想询问有关在Java中管理IP地址的问题吗?然后转到the source
  • 你担心的是端口扫描部分吗?那就是你所追求的All About Sockets

我的猜测是你应该写代码

  1. 计算出它所处的网络类型(例如192.168.1.0/24)
  2. 端口扫描网络,寻找侦听161 / UDP的IP。
  3. 使用snmp4j查询这些IP。
  4. 很简单,呃: - )

    干杯,

答案 2 :(得分:1)

请查看netTransformer,确保它可以满足您的需求。通常,您应该始终具有起始IP地址和描述SNMP连接详细信息的方法,以便与网络中的潜在设备相匹配。 然后通过SNMP,您可以查询各种SNMP表,从而具有各种发现方法。最简单的一个是查询ARP表,ip路由表(next-hops是明确的邻居)还有很多其他的几乎任何路由甚至是通过SNMP公开的面向会话的协议。