2

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

4

3 回答 3

3

Nmap呢?

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

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

于 2012-11-27T08:23:25.000 回答
1

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

  • 您想了解 snmp4j 吗?如果是这样,您在网站上缺少什么?
  • 您的意思是问有关在 Java 中管理 IP 地址的问题吗?然后去源头
  • 是您担心的端口扫描部分吗?然后就是您所追求的All About Sockets 。

我的猜测是你应该编写这样的代码

  1. 找出它所在的网络类型(例如 192.168.1.0/24)
  2. 端口扫描该网络,寻找侦听 161/UDP 的 IP。
  3. 使用 snmp4j 查询这些 IP。

很简单,嗯:-)

干杯,

于 2012-11-16T12:18:40.303 回答
1

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

于 2016-03-31T19:55:58.143 回答