查询

snmpwalk()函数—用法及示例

「 获取指定 SNMP 主机上的一组对象的值 」


函数名称:snmpwalk()

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

函数描述:snmpwalk() 函数用于获取指定 SNMP 主机上的一组对象的值。

语法:snmpwalk(string $hostname, string $community, string $object_id, int $timeout = 1000000, int $retries = 5) : array|false

参数:

  • $hostname: SNMP 主机名或 IP 地址。
  • $community: SNMP 社区字符串,用于访问 SNMP 主机。
  • $object_id: SNMP 对象标识符(OID),用于指定要获取的对象。
  • $timeout: 可选参数,超时时间(以微秒为单位)。默认为 1000000 微秒(1秒)。
  • $retries: 可选参数,重试次数。默认为 5 次。

返回值:

  • 成功:返回一个包含所获取对象的数组。
  • 失败:返回 false。

示例:

$hostname = '127.0.0.1';
$community = 'public';
$object_id = '1.3.6.1.2.1.2.2.1.2'; // OID for ifDescr

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

if ($result === false) {
    echo "获取 SNMP 对象失败";
} else {
    foreach ($result as $key => $value) {
        echo "接口名称: $value\n";
    }
}

该示例中,我们使用 snmpwalk() 函数获取本地主机的接口名称。首先,我们指定了 SNMP 主机名为 '127.0.0.1',社区字符串为 'public',对象标识符为 '1.3.6.1.2.1.2.2.1.2'。然后,我们通过遍历结果数组打印出每个接口的名称。

请注意,snmpwalk() 函数需要在 PHP 的配置文件 php.ini 中启用 SNMP 扩展(extension=snmp)才能正常使用。

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