函数名:snmprealwalk()
适用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7
函数描述:snmprealwalk() 函数使用SNMP协议在指定的主机上执行一个真实的SNMP GET-NEXT操作,从给定的OID(对象标识符)开始遍历并返回所有的变量。
语法:array snmprealwalk(string $hostname, string $community, string $object_id [, int $timeout = 1000000 [, int $retries = 5]])
参数:
- $hostname:要查询的主机名或IP地址。
- $community:SNMP代理的共同体名称,用于身份验证。
- $object_id:要查询的对象标识符(OID)。
- $timeout(可选):超时时间,单位为微秒,默认为1000000(1秒)。
- $retries(可选):重试次数,默认为5次。
返回值:成功时返回一个包含所有变量的关联数组,失败时返回false。
示例:
<?php
$hostname = 'localhost';
$community = 'public';
$object_id = 'IF-MIB::ifDescr';
$result = snmprealwalk($hostname, $community, $object_id);
if ($result === false) {
echo "SNMP query failed.";
} else {
foreach ($result as $oid => $value) {
echo "OID: $oid, Value: $value\n";
}
}
?>
以上示例会连接到本地主机,使用公共共同体"public",并以"IF-MIB::ifDescr"作为起始OID,遍历并返回所有变量。如果查询成功,将会打印出每个OID和对应的值。
注意:在使用此函数之前,确保已经安装并启用了SNMP扩展。