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)
);
}
}
?>
snmp3_real_walk
(PHP 4, PHP 5)
snmp3_real_walk — Return all objects including their respective object ID within the specified one
Description
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.
Parameters
- 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 retries in case of timeouts.
Return Values
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.
Examples
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', )
