SNMP 函数

目录

添加笔记

用户贡献的笔记 2 个笔记

1413 at blargh dot com
18 年前
在我的 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
16 年前
以下是截至 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