【发布时间】:2014-09-17 19:58:02
【问题描述】:
我正在从事一个涉及 SNMP、MIBS 和 OIDS 的项目。
附录:我想将 OID 转换为名称,而不是数字格式。我只能远程访问服务器。
当我使用 LINUX 终端 和 PHP 函数 时,我得到了 2 种不同的 OID 格式
这就是我的工作:
-
在 LINUX 终端输入:
snmpwalk -v 1 -c public ip | less
输出与此类似(短版)
-
使用php
<?php $session = new SNMP(SNMP::VERSION_1, ipaddress, "public"); $session->oid_output_format = SNMP_OID_OUTPUT_FULL; $result = $session->walk(""); print_r($result); ?>
输出如下
问题:如何在php中获得与linux终端格式相同的格式?
MAYBE: 有没有可以从 LINUX 终端运行的命令来改变 php 的 snmpwalk() 返回 OID 的格式?
【问题讨论】:
-
请说明您的目标。它们提供相同的输出真的很重要,还是您正在寻找更具体的东西(例如,您是否希望将 OID 转换为名称,而不是数字格式)?
-
另外,
snmpwalk可以配置为提供两种输出格式中的任何一种,请查看手册页中的-O标志。但这可能与您想要的相反。 -
Jolta: 好的,但是 php 的
snmpwalk()函数没有指定返回 OID 的格式的参数。 snmpwalk(host, community, objectid) -
系统可以有 100 个 MIB,它们对客户端不可见。他们应该能够远程查看某种 MIB/OID 结构来选择所需的 OID。如果所有 OID 都是数字,他们将不知道哪个是哪个