2024 年 PHP 日本會議

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 個二進位位元組,timeticks 只傳回整數
// 值,以及其他一些東西。
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]]);

字串 snmpgetnext(字串 主機, 字串 群組, 字串 物件ID [, 整數 超時 [, 整數 重試次數]]);

陣列 snmpwalk(字串 主機, 字串 群組, 字串 物件ID [, 整數 超時 [, 整數 重試次數]]);

陣列 snmprealwalk(字串 主機, 字串 群組, 字串 物件ID [, 整數 超時 [, 整數 重試次數]]);

布林值 snmp_get_quick_print(無);

無 snmp_set_quick_print(整數 快速列印);

無 snmp_set_enum_print(整數 列舉列印);

無 snmp_set_oid_output_format(整數 OID格式);

整數 snmpset(字串 主機, 字串 群組, 字串 物件ID, 字串 類型, 混合型別 值 [, 整數 超時 [, 整數 重試次數]]);

SNMPv2c
-------
字串 snmp2_get(字串 主機, 字串 群組, 字串 物件ID [, 整數 超時 [, 整數 重試次數]]);

字串 snmp2_getnext(字串 主機, 字串 群組, 字串 物件ID [, 整數 超時 [, 整數 重試次數]]);

陣列 snmp2_walk(字串 主機, 字串 群組, 字串 物件ID [, 整數 超時 [, 整數 重試次數]]);

陣列 snmp2_real_walk(字串 主機, 字串 群組, 字串 物件ID [, 整數 超時 [, 整數 重試次數]]);

整數 snmp2_set(字串 主機, 字串 群組, 字串 物件ID, 字串 類型, 混合型別 值 [, 整數 超時 [, 整數 重試次數]]);

SNMPv3
------
整數 snmp3_get(字串 主機, 字串 安全名稱, 字串 安全等級, 字串 驗證協議, 字串 驗證通行詞組, 字串 加密協議, 字串 加密通行詞組, 字串 物件ID [, 整數 超時 [, 整數 重試次數]]);

整數 snmp3_getnext(字串 主機, 字串 安全名稱, 字串 安全等級, 字串 驗證協議, 字串 驗證通行詞組, 字串 加密協議, 字串 加密通行詞組, 字串 物件ID [, 整數 超時 [, 整數 重試次數]]);

整數 snmp3_walk(字串 主機, 字串 安全名稱, 字串 安全等級, 字串 驗證協議, 字串 驗證通行詞組, 字串 加密協議, 字串 加密通行詞組, 字串 物件ID [, 整數 超時 [, 整數 重試次數]]);

整數 snmp3_real_walk(字串 主機, 字串 安全名稱, 字串 安全等級, 字串 驗證協議, 字串 驗證通行詞組, 字串 加密協議, 字串 加密通行詞組, 字串 物件ID [, 整數 超時 [, 整數 重試次數]]);

整數 snmp3_set(字串 主機, 字串 安全名稱, 字串 安全等級, 字串 驗證協議, 字串 驗證通行詞組, 字串 加密協議, 字串 加密通行詞組, 字串 物件ID, 字串 類型, 混合型別 值 [, 整數 超時 [, 整數 重試次數]]);

一般
-------
整數 snmp_set_valueretrieval(整數 方法);

整數 snmp_get_valueretrieval();

整數 snmp_read_mib(字串 檔案名稱);

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