PHP Conference Kansai 2025

snmp3_real_walk

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

snmp3_real_walk Devuelve todos los objetos incluyendo los identificadores de sus respectivos objetos

Descripción

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

La función snmp3_real_walk() se utiliza para recorrer un número de objetos SNMP comenzando por el objeto cuyo identificador es object_id y devuelve no solo sus valores, sino también los identificadores de los objetos asociados.

Parámetros

hostname

El nombre del host del agente SNMP (servidor).

security_name

El nombre de seguridad, generalmente el nombre de usuario.

security_level

El nivel de seguridad (noAuthNoPriv|authNoPriv|authPriv).

auth_protocol

El protocolo de autenticación (MD5 o SHA).

auth_passphrase

La frase secreta de autenticación.

privacy_protocol

El protocolo de privacidad ("MD5", "SHA", "SHA256" o "SHA512").

privacy_passphrase

La frase secreta privada.

object_id

El identificador del objeto SNMP.

timeout

El número de microsegundos antes del primer tiempo límite.

retries

El número de intentos en caso de que ocurra un tiempo límite.

Valores devueltos

Devuelve un array asociativo de identificadores de objetos SNMP junto con sus valores en caso de éxito, o false si ocurre un error. En caso de error, se emite una alerta de nivel E_WARNING.

Historial de cambios

Versión Descripción
8.1.0 El parámetro auth_protocol acepta ahora "SHA256" y "SHA512" cuando es soportado por libnetsnmp.

Ejemplos

Ejemplo #1 Ejemplo con snmp3_real_walk()

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

El ejemplo anterior mostrará algo como:

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',
)

Ver también

  • snmpwalk() - Recibe todos los objetos SNMP de un agente

add a note

User Contributed Notes 1 note

up
0
Anonymous
12 years ago
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)
);
}
}

?>
To Top