PHP 大会日本 2024

SNMP 函数

目录

添加注释

用户贡献的注释 2 条注释

1413 at blargh dot com
19 年前
在我的 PHP 代码中,我总是设置以下 SNMP 选项。这些在 PHP 文档中没有很好的记录,但它们使处理 SNMP 结果容易得多

<?php
// 返回数值 OID,而不是文本字符串。
snmp_set_oid_numeric_print(1);

// 只获取值。
snmp_set_quick_print(TRUE);

// 对于序列类型,只返回数字,而不是字符串和数字。
snmp_set_enum_print(TRUE);

// 不要让 SNMP 库对值解释过于“聪明”。这使得
// MAC 地址返回 6 个二进制字节,时间戳只返回整数
// 值,以及其他一些内容。
snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
?>
Chris
17 年前
这是截至 PHP 5.2.4 的 SNMPv1、SNMPv2c 和 SNMPv3 的最新 API 列表

SNMPv1
------
string snmpget(string host, string community, string object_id [, int timeout [, int retries]]);

string snmpgetnext(string host, string community, string object_id [, int timeout [, int retries]]);

array snmpwalk(string host, string community, string object_id [, int timeout [, int retries]]);

array snmprealwalk(string host, string community, string object_id [, int timeout [, int retries]]);

bool snmp_get_quick_print(void);

void snmp_set_quick_print(int quick_print);

void snmp_set_enum_print(int enum_print);

void snmp_set_oid_output_format(int oid_format);

int snmpset(string host, string community, string object_id, string type, mixed value [, int timeout [, int retries]]);

SNMPv2c
-------
string snmp2_get(string host, string community, string object_id [, int timeout [, int retries]]);

string snmp2_getnext(string host, string community, string object_id [, int timeout [, int retries]]);

array snmp2_walk(string host, string community, string object_id [, int timeout [, int retries]]);

array snmp2_real_walk(string host, string community, string object_id [, int timeout [, int retries]]);

int snmp2_set(string host, string community, string object_id, string type, mixed value [, int timeout [, int retries]]);

SNMPv3
------
int snmp3_get(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id [, int timeout [, int retries]]);

int snmp3_getnext(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id [, int timeout [, int retries]]);

int snmp3_walk(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id [, int timeout [, int retries]]);

int snmp3_real_walk(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id [, int timeout [, int retries]]);

int snmp3_set(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id, string type, mixed value [, int timeout [, int retries]]);

常规
-------
int snmp_set_valueretrieval(int method);

int snmp_get_valueretrieval();

int snmp_read_mib(string filename);

SNMPv3 选项
--------------
SNMPv3 提供了与早期 SNMP 版本不同的身份验证/授权方案。为了帮助使用上面列出的 API,以下是 snmp3_* 函数中使用的每个唯一参数的简要说明。

$sec_name - 用于向系统进行身份验证的“用户名”

$sec_level - 身份验证方案('noAuthNoPriv'、'authNoPriv' 或 'authPriv')

$auth_protocol - 用于身份验证的加密协议('MD5' [默认] 或 'SHA')

$auth_passphrase - 用作身份验证质询的加密密钥

$priv_protocol - 用于保护协议数据单元的加密协议('DES' [默认]、'AES128'、'AES192' 或 'AES256')

$priv_passphrase - 用于加密协议数据单元的密钥

更多信息请访问 http://forums.cacti.net/about5403.html
To Top