查询

snmpwalkoid()函数—用法及示例

「 从远程设备获取指定OID的所有子OID的值 」


函数名称:snmpwalkoid()

适用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7

用法:snmpwalkoid() 函数用于从远程设备获取指定OID的所有子OID的值。它基于SNMP协议并返回一个关联数组,其中键是OID,值是相应的数值。

语法:array snmpwalkoid(string $hostname, string $community, string $object_id [, int $timeout = 1000000 [, int $retries = 5]])

参数:

  • $hostname: 指定远程设备的IP地址或主机名。
  • $community: 指定SNMP共同体名称,用于访问远程设备。根据设备的配置,该值可能为public或私有的。
  • $object_id: 指定要获取子OID的OID。它可以是一个完整的OID或一个部分OID。
  • $timeout (可选): 指定超时时间,单位为微秒。默认为1000000微秒(1秒)。
  • $retries (可选): 指定重试次数。默认为5次。

返回值:如果成功,则返回一个关联数组,其中键是子OID,值是相应的数据。如果失败,则返回FALSE。

示例:

$hostname = '192.168.0.1';
$community = 'public';
$object_id = '1.3.6.1.2.1.1.1'; // 系统描述OID

$result = snmpwalkoid($hostname, $community, $object_id);

if ($result === false) {
    echo "获取数据失败";
} else {
    foreach ($result as $oid => $value) {
        echo "OID: $oid, Value: $value\n";
    }
}

以上示例将从IP地址为192.168.0.1的设备中使用public共同体获取系统描述OID(1.3.6.1.2.1.1.1)的所有子OID和相应的值。如果成功,将遍历结果数组并打印每个子OID和对应的值。如果获取数据失败,则输出"获取数据失败"。请注意,实际应用中,需要根据远程设备的SNMP配置和需求来调整参数和处理返回结果。

补充纠错
上一个函数: snmp_get_quick_print()函数
下一个函数: snmpwalk()函数
热门PHP函数
分享链接