函数名:snmp2_walk()
适用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7
函数描述:snmp2_walk() 函数用于获取远程设备的SNMP信息,并以数组的形式返回结果。
语法:array snmp2_walk ( string $hostname , string $community , string $object_id [, string $timeout = 1000000 [, string $retries = 5 ]] )
参数:
- hostname:要查询的远程设备的主机名或IP地址。
- community:SNMP community(共同体)字符串,用于验证访问权限。
- object_id:要查询的SNMP对象标识符(OID)。
- timeout(可选):超时时间,以微秒为单位,默认为1秒。
- retries(可选):重试次数,默认为5次。
返回值:成功时,返回一个包含SNMP信息的关联数组;失败时,返回false。
示例:
$hostname = '192.168.1.1';
$community = 'public';
$object_id = '1.3.6.1.2.1.1.1'; // 示例OID,可以根据需求修改
$result = snmp2_walk($hostname, $community, $object_id);
if ($result === false) {
echo "获取SNMP信息失败!";
} else {
foreach ($result as $key => $value) {
echo "OID: $key, Value: $value\n";
}
}
以上示例中,我们使用snmp2_walk()函数获取了远程设备的SNMP信息。首先,我们指定了要查询的设备的主机名、SNMP community字符串和对象标识符(OID)。然后,通过调用snmp2_walk()函数,将获取到的结果赋值给$result变量。最后,我们使用foreach循环遍历$result数组,打印出每个OID和对应的值。
请注意,为了使snmp2_walk()函数正常工作,你需要在PHP配置文件(php.ini)中启用SNMP扩展,具体方法请参考PHP官方文档。