【发布时间】:2017-01-09 16:47:26
【问题描述】:
我正在尝试使用 SNMP 从华为 ONT 中提取 WAN IP 地址信息。
例子:
首先发出一个set请求(注意OIDs last index)。 1.3.6.1.4.1.2011.6.145.1.1.1.3.1.3.4194305024.0.65535
在命令行中,set 请求返回发送的数据,但带有另一个索引。如果我重复 set 命令,索引会增加 1。
1.3.6.1.4.1.2011.6.145.1.1.1.3.1.3.4194305024.0.248
使用此 OID 我可以获得 IP 地址,但 PHP SNMP 扩展仅从 set 命令返回布尔值。有人有什么建议吗?
【问题讨论】:
-
请告诉我们您尝试了什么,什么有效,什么无效。
-
感谢您的评论。我使用 snmpset 设置如上所述的值并获取新的 OID,然后我创建了一个 snmpget 并获取数据。重点是如何在PHP中获取包返回数据(带有新的OID)?
-
为此,我认为您尝试的一些 PHP 代码会很有用。请用您在某些方面的期望以及实际行为来注释代码:)
-
好吧,我没有尝试任何 PHP 代码,因为 PHP 文档说 SNMP 类设置方法只返回布尔值。程序形式也是如此。所以我写了这个 bash 脚本只是为了测试这个过程。我知道我可以使用 shell_exe,但我想避免使用它。也许有什么方法可以扩展 PHP 类或更优雅的东西。 :) 在互联网上挖掘了一天之后,我来到这里。
-
好吧,
snmpget不返回布尔值,例如:php.net/manual/en/function.snmpget.php