English | 简体中文 | 繁體中文
查询

snmp3_walk()函数—用法及示例

「 通过 SNMP v3 协议获取指定设备的所有子树 OID 的值 」


函数名称:snmp3_walk()

适用版本:PHP 5 >= 5.4.0, PHP 7

函数描述:snmp3_walk() 函数用于通过 SNMP v3 协议获取指定设备的所有子树 OID 的值。

语法:snmp3_walk(string $hostname, string $securityName, string $securityLevel, string $authProtocol, string $authPassphrase, string $privProtocol, string $privPassphrase, string $objectId [, int $timeout = 1000000 [, int $retries = 5]])

参数:

  • $hostname:设备的主机名或 IP 地址。
  • $securityName:安全名称,用于 SNMP 认证和加密。
  • $securityLevel:安全级别,可以是 "noAuthNoPriv"、"authNoPriv" 或 "authPriv"。
  • $authProtocol:认证协议,可以是 "MD5" 或 "SHA"。
  • $authPassphrase:认证密码。
  • $privProtocol:加密协议,可以是 "DES" 或 "AES"。
  • $privPassphrase:加密密码。
  • $objectID:要获取的子树 OID。

返回值:如果成功,返回一个关联数组,包含指定设备的所有子树 OID 的值。如果失败,返回 false。

示例:

$hostname = "192.168.0.1";
$securityName = "admin";
$securityLevel = "authPriv";
$authProtocol = "MD5";
$authPassphrase = "password";
$privProtocol = "AES";
$privPassphrase = "password";
$objectID = "1.3.6.1.2.1.1";

$result = snmp3_walk($hostname, $securityName, $securityLevel, $authProtocol, $authPassphrase, $privProtocol, $privPassphrase, $objectID);

if ($result !== false) {
    foreach ($result as $oid => $value) {
        echo "OID: " . $oid . ", Value: " . $value . "\n";
    }
} else {
    echo "Failed to retrieve SNMP data.";
}

上述示例中,我们通过 SNMP v3 协议从设备的主机名为 "192.168.0.1" 的设备中获取了子树 OID 为 "1.3.6.1.2.1.1" 的所有值。我们使用了安全级别为 "authPriv",认证协议为 "MD5",认证密码为 "password",加密协议为 "AES",加密密码为 "password"。如果成功获取到数据,则遍历结果并打印每个 OID 的值。如果失败,则输出错误信息。

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