Dutch PHP Conference 2025 - Call For Papers

snmp3_set

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

snmp3_setSet the value of an SNMP object

Опис

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() is used to set the value of an SNMP object specified by the object_id.

Even if the security level does not use an auth or priv protocol/password valid values have to be specified.

Параметри

hostname

The hostname of the SNMP agent (server).

security_name

the security name, usually some kind of username

security_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

privacy_protocol

the privacy protocol (DES or AES)

privacy_passphrase

the privacy pass phrase

object_id

The SNMP object id.

type

MIB дає означення типу для ID об'єкта. Тип можна вказувати одним з символів:

types
=Тип, взятий з MIB
iINTEGER
uINTEGER
sSTRING
xHEX STRING
dDECIMAL STRING
nNULLOBJ
oOBJID
tTIMETICKS
aIPADDRESS
bBITS

Якщо під час компіляції бібліотеки SNMP задано OPAQUE_SPECIAL_TYPES, будуть доступні наступні типи:

types
Uбеззнаковий int64
Iзнаковий int64
Fдесятковий дріб (float)
Dдесятковий дріб подвійної точності (double)

Більшість з них мають зрозумілий ASN.1-тип. "s", "x", "d" та "b" вказують на один тип — OCTET STRING, а беззнаковий тип "u" використовується для обробки значень Gauge32.

Якщо MIB-файли підключені до дерева MIB, бо вказані в налаштуваннях libsnmp або за допомогою "snmp_read_mib", то потрібно задавати параметр type зі значенням "=" для усіх ID об'єктів, оскільки тип можна автоматично зчитувати з 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 snmp3_set()

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

Приклад #2 Using snmp3_set() for setting BITS SNMP object id

<?php
snmp3_set
('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'x', 'F0');
?>
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top