©
This document uses PHP Chinese website manual Release
(PHP 4, PHP 5)
snmp3_real_walk — Return all objects including their respective object ID within the specified one
$host
, string $sec_name
, string $sec_level
, string $auth_protocol
, string $auth_passphrase
, string $priv_protocol
, string $priv_passphrase
, string $object_id
[, string $timeout
= 1000000
[, string $retries
= 5
]] )
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.
host
The hostname of the SNMP agent (server).
sec_name
the security name, usually some kind of username
sec_level
the security level (noAuthNoPriv|authNoPriv|authPriv)
auth_protocol
the authentication protocol (MD5 or SHA)
auth_passphrase
the authentication pass phrase
priv_protocol
the privacy protocol (DES or AES)
priv_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.
Example #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] Anonymous [2012-07-26 10:14:00]
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)
);
}
}
?>