snmp3_set

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp3_set设置 SNMP 对象的值

描述

snmp3_set(
    字符串 $hostname,
    字符串 $security_name,
    字符串 $security_level,
    字符串 $auth_protocol,
    字符串 $auth_passphrase,
    字符串 $privacy_protocol,
    字符串 $privacy_passphrase,
    数组|字符串 $object_id,
    数组|字符串 $type,
    数组|字符串 $value,
    整数 $timeout = -1,
    整数 $retries = -1
): 布尔值

snmp3_set() 用于设置由 object_id 指定的 SNMP 对象的值。

即使安全级别不使用身份验证或隐私协议/密码,也必须指定有效的值。

参数

hostname

SNMP 代理(服务器)的主机名。

security_name

安全名称,通常是某种用户名

security_level

安全级别 (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

身份验证协议 (MD5 或 SHA)

auth_passphrase

身份验证密码短语

privacy_protocol

隐私协议 (DES 或 AES)

privacy_passphrase

隐私密码短语

object_id

SNMP 对象 ID。

type

MIB 定义了每个对象 ID 的类型。它必须以以下列表中的单个字符指定。

类型
=类型取自 MIB
iINTEGER
uINTEGER
sSTRING
xHEX STRING
dDECIMAL STRING
nNULLOBJ
oOBJID
tTIMETICKS
aIPADDRESS
bBITS

如果在编译 SNMP 库时定义了 OPAQUE_SPECIAL_TYPES,则以下类型也有效

类型
U无符号 int64
I有符号 int64
F浮点型
D双精度型

大多数这些将使用明显的对应 ASN.1 类型。's'、'x'、'd' 和 'b' 都是指定 OCTET STRING 值的不同方式,而 'u' 无符号类型也用于处理 Gauge32 值。

如果 MIB 文件通过 "snmp_read_mib" 加载到 MIB 树中,或者通过在 libsnmp 配置文件中指定它们加载,则 "=' 可以用作所有对象 ID 的 type 参数,因为类型可以从 MIB 中自动读取。

请注意,有两种方法可以设置类型为 BITS 的变量,例如 "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}"

  • 使用类型 "b" 和位编号列表。不推荐使用此方法,因为对相同 OID 的 GET 查询将返回例如 0xF8。
  • 使用类型 "x" 和十六进制数,但没有(!) 通常的 "0x" 前缀。

有关更多详细信息,请参见示例部分。

value

新值

timeout

第一个超时之前的微秒数。

retries

如果发生超时,重试的次数。

返回值

如果成功,返回 true,如果失败,返回 false

如果 SNMP 主机拒绝数据类型,则会显示类似 "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." 的 E_WARNING 消息。如果指定了未知或无效的 OID,则警告可能显示 "Could not add variable"。

示例

示例 #1 使用 snmp3_set()

<?php
snmp3_set
('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifAlias.3', 's', "foo");
?>

示例 #2 使用 snmp3_set() 设置 BITS SNMP 对象 ID

<?php
snmp3_set
('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// 或者
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'x', 'F0');
?>
添加说明

用户贡献说明

此页面没有用户贡献的说明。
To Top