如何发送一个snmp请求到局域网上的任何设备?

我想build立一个使用snmp的应用程序来search我的局域网,并探索共享一些资源的设备。 我需要一些帮助来启动它,我试图用net-snmp来做同样的事情,但是仍然没有成功。

我认为你想做什么是不可能的。

  • 首先,默认情况下,SNMP在任何桌面操作系统上都没有安装和/或激活。
  • 其次,无法通过SNMP远程configurationSNMP,在最好的情况下,您可以通过它重新configuration已configuration的系统。 这意味着您必须首先在所有设备上手动安装和configurationSNMP,以便进行必要的操作。
  • 第三,尽pipe在Net-SNMP和Windows实现的启动/closures中发送SNMP陷阱肯定是可能的,但大多数其他networking设备(如打印机等)却不能configuration这样做。 如果他们发出陷阱,只是报告错误情况。

如果你想要做的只是networking发现,那么有很多更好的方法可以做到这一点,然后迫使SNMP做一些它不是为了devise的。

如果你想做全面的networking发现,唯一现实的方法是:
1 – 从交换机获取MAC地址(从他们的MAC地址表中)
2 – 从路由器获取IP地址/ MAC地址(ARP表)
3 – 使用DNS反向查找使用IP地址的主机名

这个过程需要定期重复,因为MAC地址和ARP表中的数据超时,前者在10分钟内,后者通常是几个小时。

通过上面的信息,您可以确定连接设备的位置(或至less是哪个交换机端口),然后,如果您需要更多信息,请询问每台主机的详细信息,或者您需要知道的其他信息。