函数名称:snmpget()
函数描述:snmpget()函数用于从指定的SNMP代理获取指定的OID的值。
适用版本:PHP 4 >= 4.3.3, PHP 5, PHP 7
语法:string snmpget(string $hostname, string $community, string $object_id, int $timeout = 1000000, int $retries = 5)
参数:
- $hostname:要查询的SNMP代理的主机名或IP地址。
- $community:SNMP代理的共同体字符串,用于身份验证。
- $object_id:要获取的OID(对象标识符)。
- $timeout(可选):超时时间,以微秒为单位,默认为1秒。
- $retries(可选):重试次数,默认为5次。
返回值:成功时返回获取的值,失败时返回FALSE。
示例:
- 获取SNMP代理的系统描述:
$hostname = '192.168.0.1';
$community = 'public';
$object_id = 'sysDescr.0';
$value = snmpget($hostname, $community, $object_id);
echo "System Description: " . $value;
- 获取SNMP代理的接口状态:
$hostname = '192.168.0.1';
$community = 'public';
$object_id = 'ifOperStatus.1';
$value = snmpget($hostname, $community, $object_id);
if ($value === '1') {
echo "Interface is up";
} else {
echo "Interface is down";
}
注意事项:
- 在使用snmpget()函数之前,确保已安装SNMP扩展并启用了SNMP功能。
- 请根据实际情况替换$hostname和$community变量的值。
- OID的格式应为
. ,其中 是对应的对象标识符, 是对应的索引(如果适用)。 - 请根据你的需求自定义超时时间和重试次数。