(PHP 4, PHP 5, PHP 7, PHP 8)
snmp3_set — Устанавливает значение объекта SNMP
$hostname
,$security_name
,$security_level
,$auth_protocol
,$auth_passphrase
,$privacy_protocol
,$privacy_passphrase
,$object_id
,$type
,$value
,$timeout
= -1,$retries
= -1
Функция 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 |
i | INTEGER |
u | INTEGER |
s | STRING |
x | HEX STRING |
d | DECIMAL STRING |
n | NULLOBJ |
o | OBJID |
t | TIMETICKS |
a | IPADDRESS |
b | BITS |
Если при компиляции библиотеки SNMP была определена
опция OPAQUE_SPECIAL_TYPES
, то также могут быть использованы
следующие типы:
U | unsigned int64 |
I | signed int64 |
F | float |
D | double |
Бо́льшая часть этих значений использует очевидный тип ASN.1. 's', 'x', 'd' и 'b' — это все разные способы указания значения OCTET STRING, а беззнаковый тип 'u' также указывают для обработки значений Gauge32.
Если MIB-файлы были загружены в MIB-дерево с помощью "snmp_read_mib"
или были указаны в конфигурационном файле libsnmp, то для указания
параметра type
можно использовать нотацию
'=', т. к. тип всех идентификаторов объектов будет автоматически
считан из MIB.
Обратите внимание, что есть два способа установить переменную типа BITS, например, "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":
Подробнее смотрите в разделе с примерами.
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');
?>