PHP 8.4.2 Released!

snmp3_set

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

snmp3_setУстанавливает значение объекта SNMP

Описание

snmp3_set(
    string $hostname,
    string $security_name,
    string $security_level,
    string $auth_protocol,
    string $auth_passphrase,
    string $privacy_protocol,
    string $privacy_passphrase,
    array|string $object_id,
    array|string $type,
    array|string $value,
    int $timeout = -1,
    int $retries = -1
): bool

Функция snmp3_set() используется для установки значения объекта SNMP, указанного в object_id.

Даже если уровень безопасности не использует протокол авторизации или пароль, необходимо указать корректные значения.

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

hostname

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

security_name

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

security_level

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

auth_protocol

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

auth_passphrase

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

privacy_protocol

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

privacy_passphrase

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

object_id

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

type

База управляющей информации MIB определяет для каждого объекта тип идентификатора. Тип указывается одним символом из следующего списка.

Типы
=Функция возьмёт тип из базы MIB
iINTEGER
uINTEGER
sSTRING
xHEX STRING
dDECIMAL STRING
nNULLOBJ
oOBJID
tTIMETICKS
aIPADDRESS
bBITS

Следующие типы также допустимы, если при компиляции библиотеки SNMP определили опцию OPAQUE_SPECIAL_TYPES:

Типы
Uunsigned int64
Isigned int64
Ffloat
Ddouble

Бо́льшая часть этих значений использует очевидный тип, который соответствует типу стандарта ASN.1. 's', 'x', 'd' и 'b' — это все разные способы указания значения OCTET STRING, а беззнаковый тип 'u' также указывают для обработки значений Gauge32.

Разрешается указывать тип '=' как значение параметра type для каждого идентификатора объекта, если MIB-файлы загружаются в MIB-дерево функцией snmp_read_mib или путём указания в конфигурационном файле библиотеки libsnmp, поскольку тогда функция автоматически считает тип из базы MIB.

Обратите внимание, что переменную типа BITS устанавливают двумя способами, например, "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Указывают тип "b" и список битовых чисел. Не рекомендуется использовать этот метод, поскольку GET-запрос для того же OID-идентификатора объекта вернёт, например, 0xF8.
  • Указывают тип "x" и шестнадцатеричное число, но без (!) стандартного префикса "0x".

Раздел с примерами даёт дополнительную информацию.

value

Новое значение.

timeout

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

retries

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

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

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Если хост SNMP отклоняет тип данных, выводится ошибка уровня E_WARNING вроде "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length.". Если указан неизвестный или недопустимый OID, вероятно, выведется предупреждение "Could not add variable".

Примеры

Пример #1 Пример использования snmp3_set()

<?php
snmp3_set
('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifAlias.3', 's', "foo");
?>

Пример #2 Пример использования snmp3_set() для установки BITS идентификатору объекта SNMP

<?php
snmp3_set
('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// или
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'x', 'F0');
?>
Добавить

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

Пользователи ещё не добавляли примечания для страницы
To Top