snmpset

(PHP 4, PHP 5, PHP 7)

snmpsetSet the value of an SNMP object

Описание

snmpset ( string $hostname , string $community , array|string $object_id , array|string $type , array|string $value , int $timeout = -1 , int $retries = -1 ) : array|bool

snmpset() is used to set the value of an SNMP object specified by the object_id.

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

hostname

The hostname of the SNMP agent (server).

community

The write community.

object_id

The SNMP object id.

type

MIB указывает тип идентификатора каждого объекта. Он должен быть указан в виде одного символа из следующего списка.

types
=Тип, принимаемый MIB
iINTEGER
uINTEGER
sSTRING
xHEX STRING
dDECIMAL STRING
nNULLOBJ
oOBJID
tTIMETICKS
aIPADDRESS
bBITS

Если при компиляции библиотеки SNMP была определена опция OPAQUE_SPECIAL_TYPES, то также могут быть использованы следующие типы:

types
Uunsigned int64
Isigned int64
Ffloat
Ddouble

Большинство этих значений используют очевидный тип 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)}":

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

Подробнее смотрите в разделе с примерами.

value

The new value.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

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

Возвращает true в случае успешного завершения или false в случае возникновения ошибки.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Примеры

Пример #1 Using snmpset()

<?php
  snmpset
("localhost""public""IF-MIB::ifAlias.3""s""foo");
?>

Пример #2 Using snmpset() for setting BITS SNMP object id

<?php
  snmpset
("localhost""public"'FOO-MIB::bar.42''b''0 1 2 3 4');
// or
  
snmpset("localhost""public"'FOO-MIB::bar.42''x''F0');
?>

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