snmp3_real_walk
(PHP 4, PHP 5, PHP 7, PHP 8)
snmp3_real_walk — Return all objects including their respective object ID within the specified one
说明
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
   The
   snmp3_real_walk() function is used to traverse over a number
   of
   SNMP objects starting from
   object_id
   and return not only their values but also their object ids.
  
参数
- 
     hostname
- 
     The hostname of the SNMP agent (server). 
- 
     security_name
- 
     the security name, usually some kind of username 
- 
     security_level
- 
     the security level (noAuthNoPriv|authNoPriv|authPriv) 
- 
     auth_protocol
- 
     the authentication protocol (MD5 or SHA) 
- 
     auth_passphrase
- 
     the authentication pass phrase 
- 
     privacy_protocol
- 
     the authentication protocol ( "MD5","SHA","SHA256", or"SHA512")
- 
     privacy_passphrase
- 
     the privacy pass phrase 
- 
     object_id
- 
     The SNMP object id. 
- 
     timeout
- 
     The number of microseconds until the first timeout. 
- 
     retries
- 
     The number of times to retry if timeouts occur. 
返回值
   Returns an associative array of the
   SNMP object ids and their values on success or false on error.
   In case of an error, an E_WARNING message is shown.
  
更新日志
| 版本 | 说明 | 
|---|---|
| 8.1.0 | The auth_protocolnow accepts"SHA256"and"SHA512"when supported by libnetsnmp. | 
示例
示例 #1 Using snmp3_real_walk()
<?php
 var_export(snmp3_real_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName'));
?>The above will output something like:
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 note
Use this function for debug snmp-connection.
<?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)
                );
            }
}
?>备份地址:http://www.lvesu.com/blog/php/function.snmp3-real-walk.php