GB | BIG5
|
| 首頁 > 編程技術 > Php > 正文 |
 |
| PHP4手冊:函數庫及函數(四十六) SNMP 網管函式庫 |
| http://netleader.126.com 星空浪子 (2001-04-18 16:56:55) |
--------------------------------------------------------------------------------
SNMP 網管函式庫
--------------------------------------------------------------------------------
本函式庫共有 5 個函式
SNMP (網管協定, Simple Network Management Protocol) 是身為 MIS 或是網路管理人員所必須要碰到的重要課題,中文方面可參考張苑蓉所譯的 SNMP 網路管理協定 (ISBN: 957-8247-14-1),或者直接參考 RFC1089 文件。另外在 http://www.snmp.com 也有許多資料。
要在 PHP 中使用 SNMP 網管函式,需要確定是否可以使用 SNMP 功能。UNIX 系統需要先加裝 UCD SNMP 程式,可在 http://ucd-snmp.ucdavis.edu 取得。Windows NT 需要先安裝 SNMP 的系統服務。Windows 95/98 系列則無法使用本功能。
值得注意的是 UNIX 平台在編譯 UCD SNMP 程式之前,要先將 config.h 檔案中的 NO_ZEROLENGTH_COMMUNITY 常數 define 設成 1,也就是將該行的行首 # 字元刪掉。如下例
define NO_ZEROLENGTH_COMMUNITY 1
若網路區段 (segmentation) 有怪異的情形,可能就不能用上面的方式了。而若懶得重新編譯 UCD SNMP,可以在設定 PHP 時加入 --enable-ucd-snmp-hack 的選項。
snmpget: 取得指定物件識別碼。
snmpwalk: 取得所有物件。
snmpwalkoid: 取得網路本體樹狀資訊。
snmp_get_quick_print: 取得 UCD 函式庫中的 quick_print 值。
snmp_set_quick_print: 設定 UCD 函式庫中的 quick_print 值。
--------------------------------------------------------------------------------
函式:snmpget()
--------------------------------------------------------------------------------
SNMP 網管函式庫
snmpget
取得指定物件識別碼。
語法: int snmpget(string hostname, string community, string object_id);
傳回值: 整數
函式種類: 網路系統
內容說明
本函式可用來取得指定的物件識別代碼 (OID, Object Identifier)。參數 hostname 為指定的機器。參數 community 為社群名稱,有 public 或 private 等。參數 object_id 即為 OID 物件,為 MIB 所定義的物件。傳回值為 OID 值,若失敗則傳回 false。
使用范例
下面為部份范例
snmpget("127.0.0.1", "public", "system.SysContact.0");
?>
--------------------------------------------------------------------------------
函式:snmpwalk()
--------------------------------------------------------------------------------
SNMP 網管函式庫
snmpwalk
取得所有物件。
語法: array snmpwalk(string hostname, string community, string object_id, int [timeout], int [retries]);
傳回值: 陣列
函式種類: 網路系統
內容說明
本函式可用來取得所有物件識別代碼 (OID, Object Identifier),取得物件為從根物件 (root) 開始的全部 MIB 物件。參數 hostname 為指定的機器。參數 community 為社群名稱,有 public 或 private 等。參數 object_id 即為 OID 物件,為 MIB 所定義的物件,只要輸入空字串即可。傳回值為 OID 陣列,若失敗則傳回 false。
使用范例
下面為部份范例
$a = snmpwalk("127.0.0.1", "public", "");
for ($i=0; $i echo $a[$i]." \n";
}
?>
--------------------------------------------------------------------------------
函式:snmpwalkoid()
--------------------------------------------------------------------------------
SNMP 網管函式庫
snmpwalkoid
取得網路本體樹狀資訊。
語法: array snmpwalkoid(string hostname, string community, string object_id, int [timeout], int [retries]);
傳回值: 陣列
函式種類: 網路系統
內容說明
本函式可用來取得所有物件識別代碼 (OID, Object Identifier),取得物件為從根物件 (root) 開始的全部 MIB 物件及其值。參數 hostname 為指定的機器。參數 community 為社群名稱,有 public 或 private 等。參數 object_id 即為 OID 物件,為 MIB 所定義的物件,只要輸入空字串即可。傳回值為陣列,若失敗則傳回 false。
使用范例
下面為部份范例
$a = snmpwalkoid("127.0.0.1", "public", "");
for (reset($a); $i = key($a); next($a)) {
echo $i.": ".$a[$i]." \n";
}
?>
--------------------------------------------------------------------------------
函式:snmp_get_quick_print()
--------------------------------------------------------------------------------
SNMP 網管函式庫
snmp_get_quick_print
取得 UCD 函式庫中的 quick_print 值。
語法: boolean snmp_get_quick_print(void);
傳回值: 布林值
函式種類: 網路系統
內容說明
本函式可用來取得 UCD SNMP 函式庫中的 quick_print 值,在 Windows NT 系統上本函式無法作用。本函式不需要輸入參數,傳回 0 表示 quick_print 關閉,1 表示開啟。
--------------------------------------------------------------------------------
函式:snmp_set_quick_print()
--------------------------------------------------------------------------------
SNMP 網管函式庫
snmp_set_quick_print
設定 UCD 函式庫中的 quick_print 值。
語法: void snmp_set_quick_print(boolean quick_print);
傳回值: 無
函式種類: 網路系統
內容說明
本函式設定 UCD SNMP 函式庫中的 quick_print 值,在 Windows NT 系統上本函式無法作用。參數 quick_print 值為 0 表示 quick_print 關閉,1 表示開啟。本函式無傳回值。
使用范例
snmp_set_quick_print(0);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo $a."\n";
snmp_set_quick_print(1);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo $a."\n";
?>
傳回值為
Timeticks: (0) 0:00:00.00
0:00:00.00
(http://www.fanqiang.com)
進入【UNIX論壇】
|
|
| 相關文章 |
PHP4手冊:函數庫及函數(四十六) SNMP 網管函式庫 (2001-04-18 16:56:55) PHP4手冊:函數庫及函數(四十五) Solid 資料庫連結函式庫 (2001-04-18 16:54:16) PHP4手冊:函數庫及函數(四十四) 信號與共享記憶體函式庫 (2001-04-18 16:49:09) PHP4手冊:函數庫及函數(四十三) 常規表示法函式庫 (2001-04-18 16:40:33) PHP4手冊:函數庫及函數(四十二) URL 處理函式庫 (2001-04-18 16:37:13) PHP4手冊:函數庫及函數(四十一) PostgreSQL 資料庫函式庫 (2001-04-18 15:58:12) PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 2 (2001-04-18 15:53:53) PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 1 (2001-04-18 15:53:35) PHP4手冊:函數庫及函數(三十九) Perl 相容語法函式庫 (2001-04-18 15:45:08) PHP4手冊:函數庫及函數(三十八) Oracle 資料庫函式庫 (2001-04-18 15:43:09)
|
===更多相關=== |
|
|
 |
★ 樊強制作 歡迎分享 ★ |