SNMP 函数
目录
- snmp_get_quick_print — 获取当前 NET-SNMP 库的 quick_print 设置的值
 - snmp_get_valueretrieval — Return the method how the SNMP values will be returned
 - snmp_read_mib — Reads and parses a MIB file into the active MIB tree
 - snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer
 - snmp_set_oid_numeric_print — 别名 snmp_set_oid_output_format
 - snmp_set_oid_output_format — Set the OID output format
 - snmp_set_quick_print — 在 NET-SNMP 库中设置 enable 的值
 - snmp_set_valueretrieval — Specify the method how the SNMP values will be returned
 - snmp2_get — Fetch an SNMP object
 - snmp2_getnext — Fetch the SNMP object which follows the given object id
 - snmp2_real_walk — Return all objects including their respective object ID within the specified one
 - snmp2_set — Set the value of an SNMP object
 - snmp2_walk — Fetch all the SNMP objects from an agent
 - snmp3_get — Fetch an SNMP object
 - snmp3_getnext — Fetch the SNMP object which follows the given object id
 - snmp3_real_walk — Return all objects including their respective object ID within the specified one
 - snmp3_set — Set the value of an SNMP object
 - snmp3_walk — Fetch all the SNMP objects from an agent
 - snmpget — 获取 SNMP 对象
 - snmpgetnext — Fetch the SNMP object which follows the given object id
 - snmprealwalk — 返回指定的所有对象,包括它们各自的对象 ID
 - snmpset — 设置 SNMP 对象的值
 - snmpwalk — 从代理获取所有 SNMP 对象
 - snmpwalkoid — 查询有关网络实体的信息树
 
  +添加备注
  
用户贡献的备注 2 notes
  
  
  1413 at blargh dot com ¶
  
 
  19 years ago
  For my purposes in PHP coding, I have the following SNMP options set, always.  These aren't documented very well in PHP's docs, but they make dealing with the SNMP results a LOT easier:
<?php
// Return back the numeric OIDs, instead of text strings.
snmp_set_oid_numeric_print(1);
// Get just the values.
snmp_set_quick_print(TRUE);
// For sequence types, return just the numbers, not the string and numbers.
snmp_set_enum_print(TRUE); 
// Don't let the SNMP library get cute with value interpretation.  This makes 
// MAC addresses return the 6 binary bytes, timeticks to return just the integer
// value, and some other things.
snmp_set_valueretrieval(SNMP_VALUE_PLAIN);  
?>  
  
  Chris ¶
  
 
17 years ago
  Here's a fresh list of API for SNMPv1, SNMPv2c, and SNMPv3 as of PHP 5.2.4:
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]]);
General
-------
int snmp_set_valueretrieval(int method);
int snmp_get_valueretrieval();
int snmp_read_mib(string filename);
SNMPv3 options
--------------
SNMPv3 offers a different authentication/authorization scheme than previous versions of SNMP.  To aid in using the API listed above, here is a brief explanation of each of the unique parameters used in the snmp3_* functions.
$sec_name - the "username" used for authentication to the system
$sec_level - the authentication scheme ('noAuthNoPriv', 'authNoPriv', or 'authPriv')
$auth_protocol - the encryption protocol used for authentication ('MD5' [default] or 'SHA')
$auth_passphrase - the encrypted key to use as the authentication challenge
$priv_protocol - the encryption protocol used for protecting the protocol data unit ('DES' [default], 'AES128', 'AES192', or 'AES256')
$priv_passphrase - the key to use for encrypting the protocol data unit
There are good code snippets available on http://forums.cacti.net/about5403.html for more information.