Windows 10 SNMP 服务没有响应

Windows 10 SNMP service not responding

我正试图为我正在进行的项目了解 SNMP。在我无法让它在我公司的网络中正常工作之后,我建立了一个简单的 3 设备网络来测试东西,包括两台 Windows 10 台 PC 和它们之间的一个可管理交换机。

我在两台 PC 上都安装了可选功能“SNMP”,确保服务 运行 正确并将这两个服务配置为接受来自彼此的 SNMP 查询。我确保在两台 PC 的防火墙中打开 UDP 端口 161。然后我得到了 Net-SNMP 二进制文件以便使用 SNMPGET 和 SNMPWALK。作为替代方案,我通过 xampp 为 PHP 设置了 SNMP 扩展(因为一旦我让 SNMP 工作,我想在我的项目中使用 PHP)。最后,我安装了 wireshark 来监控到底发生了什么,这就是我发现的:

当我通过 cmd 或作为 PHP 命令尝试 SNMPGET 或 SNMPWALK 时,我总是收到超时消息。 Wireshark 显示 get-next-request 离开一台 PC 并正确到达另一台 PC,因此网络连接本身工作正常。但接收 PC 永远不会发送响应。正如我所说,我对 SNMP 很陌生,我不知道为什么会这样。据我了解,Windows 10 的可选功能带有它自己的 SNMP 代理,对吗?如果是这样,什么会导致它简单地忽略来自有效源 IP 的传入请求?

有趣的是,当我尝试向 127.0.0.1 发送 SNMP 查询时,甚至会发生这种情况。我不知道我做错了什么...

感谢 Lex Li 的评论,我终于弄清楚了我在哪一步出错了:

在设置 SNMP 服务时,在安全选项卡下,我必须添加 'public' 作为可接受的社区名称(具有只读权限)。我想既然 'public' 是一种标准的只读社区,它会被默认接受,显然它不是。

或者,我想我可以添加自己的社区名称,但我没有尝试这样做,因为无论如何我只想通过 SNMP 读取一些值,而只读访问权限就是我所需要的。

非常感谢 Lex Li,我现在要继续我的项目了!