PHP 8.4.1 Released!

snmp3_real_walk

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

snmp3_real_walkВозвращает все объекты, включая их идентификатор в указанном объекте

Описание

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() используется для обхода объектов SNMP, начиная с object_id и возвращает не только их значения, но и идентификаторы объектов.

Список параметров

hostname

Имя хоста агента (сервера) SNMP.

security_name

Имя безопасности, обычно какое-то имя пользователя.

security_level

Уровень безопасности (noAuthNoPriv|authNoPriv|authPriv).

auth_protocol

Протокол аутентификации ("MD5", "SHA", "SHA256" или "SHA512").

auth_passphrase

Пароль аутентификации.

privacy_protocol

Протокол конфиденциальности (DES or AES).

privacy_passphrase

Пароль конфиденциальности.

object_id

Идентификатор объекта SNMP.

timeout

Время ожидания в микросекундах.

retries

Количество повторных попыток при истечении времени ожидания.

Возвращаемые значения

Возвращает ассоциативный массив идентификаторов объектов SNMP и их значений в случае успешного выполнения или false в случае возникновения ошибки. В случае ошибки выводит ошибку уровня E_WARNING.

Список изменений

Версия Описание
8.1.0 Параметр auth_protocol теперь принимает "SHA256" и "SHA512", если поддерживается libnetsnmp.

Примеры

Пример #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',
)

Смотрите также

  • snmpwalk() - Получает все объекты SNMP из агента

Добавить

Примечания пользователей 1 note

up
2
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