snmp3_real_walk

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp3_real_walk返回指定对象内所有对象及其各自的OID

描述

snmp3_real_walk(
    string $hostname,
    string $security_name,
    string $security_level,
    string $auth_protocol,
    string $auth_passphrase,
    string $privacy_protocol,
    string $privacy_passphrase,
    array|string $object_id,
    int $timeout = -1,
    int $retries = -1
): array|false

snmp3_real_walk() 函数用于遍历从 object_id 开始的多个 SNMP 对象,并返回它们的数值及其对应的 OID。

参数

hostname

SNMP 代理(服务器)的主机名。

security_name

安全名称,通常是某种用户名。

security_level

安全级别 (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

认证协议 (MD5 或 SHA)

auth_passphrase

认证密码

privacy_protocol

隐私协议 ("MD5", "SHA", "SHA256""SHA512")

privacy_passphrase

隐私密码

object_id

SNMP 对象 ID。

timeout

第一次超时之前的微秒数。

retries

超时发生时重试的次数。

返回值

成功时返回一个包含 SNMP 对象 ID 及其值的关联数组,失败时返回 false。发生错误时,会显示一条 E_WARNING 消息。

变更日志

版本 描述
8.1.0 当 libnetsnmp 支持时,auth_protocol 现在接受 "SHA256""SHA512"

范例

范例 #1 使用 snmp3_real_walk()

<?php
var_export
(snmp3_real_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName'));
?>

上面的代码将输出类似以下内容:

array (
  'IF-MIB::ifName.1' => 'STRING: lo',
  'IF-MIB::ifName.2' => 'STRING: eth0',
  'IF-MIB::ifName.3' => 'STRING: eth2',
  'IF-MIB::ifName.4' => 'STRING: sit0',
  'IF-MIB::ifName.5' => 'STRING: sixxs',
)

参见

添加说明

用户贡献说明 1 条说明

匿名
12 年前
使用此函数调试 SNMP 连接。

<?php
error_reporting
(8191);
date_default_timezone_set('Europe/Moscow');
ini_set('display_errors',1);

snmp_test_connection('12.34.56.78', 'guest', 'guest')

function
snmp_test_connection($ip, $user, $pass){
$a = array('noAuthNoPriv','authNoPriv','authPriv');
$b = array('MD5','SHA');
$c = array('DES','AES');

$branch = '.1.3.6.1.2.1.1.3'; // upTime

foreach($a as $aPriv)
foreach(
$b as $bProt)
foreach(
$c as $cPrivProt){
echo
'time = '.date('Y-m-d H:i:s').'<br/>';
echo
'<b>sec_level=</b>'.$aPriv.'<br/><b>auth_protocol=</b>'.$bProt.'<br/><b>priv_protocol=</b>'.$cPrivProt.'<br/>Request = ';
var_dump(
snmp3_real_walk($ip, $user, $aPriv, $bProt, $pass, $cPrivProt, $pass, $branch)
);
}
}

?>
To Top