snmp3_set

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

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

Описание

function 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".

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

Версия Описание
8.5.0 Теперь функция выбрасывает исключение ValueError, когда длина имени хоста равна или превышает 128 байт, когда порт отрицательный или превышает 65535, либо когда значения timeout или retries меньше -1 или слишком большие.

Примеры

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