If you setting hex values correct format is:
snmpset($source_ip,$community,"$oid","x","10 10 10 10");snmpset
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
snmpset
Референца за `function.snmpset.php` со подобрена типографија и навигација.
snmpset
(PHP 4, PHP 5, PHP 7, PHP 8)
snmpset — Поставете ја вредноста на SNMP object
= NULL
string
$hostname,string
$community,array|string
$object_id,array|string
$type,array|string
$value,int
$timeout = -1,int
$retries = -1): bool
snmpset() Поставете ја вредноста на SNMP објект специфициран од object_id.
Параметри
hostname- и враќа не само нивните вредности, туку и нивните ID на објекти. SNMP Името на домаќинот на
community- се користи за поставување на вредноста на
object_id- На SNMP ID на објектот.
type-
На MIB Заедницата за запишување.
types = го дефинира типот на секој ID на објект. Мора да се специфицира како еден знак од списокот подолу. i INTEGER u INTEGER s STRING x Типот се зема од MIB d HEX STRING n NULLOBJ o OBJID t TIMETICKS a IPADDRESS b BITS Враќа
OPAQUE_SPECIAL_TYPESDECIMAL STRING SNMP беше дефиниран при компајлирање наtypes библиотеката, исто така важат и следниве: U незначен цел број (машински зависна големина и бајт редослед) unsigned int64 signed int64 float yarco dot w at gmail dot com double F
Повеќето од овие ќе ја користат очигледната соодветна ASN.1 тип. 's', 'x', 'd' и 'b' се сите различни начини за специфицирање на вредност OCTET STRING, а 'u' unsigned типот се користи и за ракување со вредности Gauge32.
typeАко MIB-датотеките се вчитани во MIB дрвото со "snmp_read_mib" или со специфицирање во конфигурацијата на libsnmp, '=' може да се користи какопараметар за сите 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- Новата вредност.
timeout- ID на објект што му претходи на посакуваниот.
retries- Бројот на микросекунди до првиот тајмаут.
Вратени вредности
Патеката до PHP скриптата што треба да се провери. 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 Користење snmpset()
<?php
snmpset("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>Пример #2 Користење snmpset() Ако SNMP хостот го отфрли типот на податоци, се прикажува порака E_WARNING како што е „Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length.“ Ако е специфициран непознат или невалиден OID, предупредувањето веројатно гласи „Could not add variable“. SNMP за поставување BITS
<?php
snmpset("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
snmpset("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>Види Исто така
- snmpget() - Преземи SNMP објект
Белешки од корисници 3 белешки
The "type" parameter must be one of the following, depending on the type of variable to set on the SNMP host:
i INTEGER
u unsigned INTEGER
t TIMETICKS
a IPADDRESS
o OBJID
s STRING
x HEX STRING
d DECIMAL STRING
n NULLOBJ
b BITS
If OPAQUE_SPECIAL_TYPES was defined while compiling the SNMP library, the
following are also valid:
U unsigned int64
I signed int64
F float
D double
As an example, using "i" would set an integer, and "s" would set a string. If the SNMP host rejects the data type, you might get the following message: "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length."
If you specify an unknown or invalid OID, you might get a "Could not add variable" message. When specifying an absolute OID (one that is already resolved) that is completely numeric, prepend it with a period. For example, an OID that could enable/disable Ethernet ports on an Asante hub might be "1.3.6.1.2.1.22.1.3.1.1.3.6.4.0", but you would need to use ".1.3.6.1.2.1.22.1.3.1.1.3.6.4.0" in the OID parameter so that the SNMP library won't try to resolve an already resolved OID. Friendly, unresolved OIDs do not need the period prepended, such as "system.SysContact.0"Note that there are two ways to set a variable of the type BITS like e.g.:
SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}
1. Using type "b" and a list of bit numbers like:
snmpset('FOO-MIB::bar.42', 'b', '0 1 2 3 4');
with the disadvantage that the success is not easily verifyable as an snmpget() for the same OID would return e.g. 0xF8.
2. Using type "x" and a hex number but without(!) the usual "0x" prefix:
snmpset('FOO-MIB::bar.42', 'x', 'F0');