php4 snmpget函数,PHP4手册:函数库及函数(四十六) SNMP 网管函式库

--------------------------------------------------------------------------------

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值