(PHP 4, PHP 5, PHP 7, PHP 8)
snmp3_set — Définit la valeur d'un objet SNMP
$hostname,$security_name,$security_level,$auth_protocol,$auth_passphrase,$privacy_protocol,$privacy_passphrase,$object_id,$type,$value,$timeout = -1,$retries = -1
snmp3_set() est utilisé pour définir la
valeur d'un objet SNMP spécifié par
le paramètre object_id.
Les arguments d'authentification et de confidentialité doivent toujours être
passés, mais leurs valeurs sont ignorées lorsque
security_level ne les utilise pas.
hostnameLe nom de l'hôte de l'agent SNMP (serveur).
security_nameLe nom de sécurité, généralement une sorte de nom d'utilisateur.
security_levelLe niveau de sécurité : "noAuthNoPriv",
"authNoPriv" ou "authPriv".
auth_protocolLe protocole d'authentification : "MD5", "SHA",
"SHA256" ou "SHA512".
auth_passphraseLa phrase secrète d'authentification.
privacy_protocolLe protocole de confidentialité : "DES" ou "AES",
accepté aussi comme "AES128". "AES192", "AES192C",
"AES256" et "AES256C" sont acceptés lorsqu'ils sont supportés par la
bibliothèque Net-SNMP.
privacy_passphraseLa phrase secrète de confidentialité.
object_idL'identifiant de l'objet SNMP.
typeLe MIB définit le type de chaque identifiant d'objets. Il doit être spécifié sous la forme d'un simple caractère depuis la liste suivante.
| = | Le type est récupéré depuis le MIB |
| i | INTEGER |
| u | INTEGER |
| s | STRING |
| x | HEX STRING |
| d | DECIMAL STRING |
| n | NULLOBJ |
| o | OBJID |
| t | TIMETICKS |
| a | IPADDRESS |
| b | BITS |
Si la constante OPAQUE_SPECIAL_TYPES a été définie lors
de la compilation de la bibliothèque SNMP, les caractères suivants
seront également disponibles :
| U | int64 non-signé |
| I | int64 signé |
| F | float |
| D | double |
La plupart de ces valeurs utilise le type ASN.1 correspondant. 's', 'x', 'd' et 'b' sont toutes des façons différentes de spécifier la valeur OCTET STRING et le type non-signé 'u' est également utilisé pour gérer les valeurs Gauge32.
Si les fichiers MIB sont chargés dans l'arbre MIB avec "snmp_read_mib" ou en les spécifiant dans la configuration de libsnmp, '=' pourra être utilisé comme paramètre de type pour tous les identifiants d'objets, vu que le type peut automatiquement être lu depuis le MIB.
Notez qu'il y a 2 façons de définir une variable de type BITS like i.e. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":
En utilisant le type "b" et une liste d'octets. Cette méthode n'est pas recommandée vu que la requête GET pour un même OID retournera i.e. 0xF8.
En utilisant le type "x" et un nombre hexadécimal mais sans(!) le préfixe usuel "0x".
Reportez-vous à la section sur les exemples pour plus de détails.
valueLa nouvelle valeur.
timeoutLe nombre de microsecondes avant le premier délai d'expiration.
retriesLe nombre de tentatives dans le cas où le délai d'expiration est atteint.
Cette fonction retourne true en cas de succès ou false si une erreur survient.
Si l'hôte SNMP rejette le type de données, une alerte de type E_WARNING comme "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." est affichée. Si un OID inconnu ou invalide est spécifié, l'alerte sera probablement "Could not add variable".
| Version | Description |
|---|---|
| 8.6.0 |
Le protocole de confidentialité accepte désormais "AES192",
"AES192C", "AES256" et
"AES256C" lorsqu'ils sont supportés par la bibliothèque Net-SNMP.
|
| 8.5.0 | Lance désormais une ValueError quand la longueur du nom d'hôte est supérieure ou égale à 128 octets, quand le port est négatif ou supérieur à 65535, ou quand les valeurs du délai d'expiration ou du nombre de tentatives sont inférieures à -1 ou trop grandes. |
| 8.1.0 |
Le protocole d'authentification accepte désormais "SHA256"
et "SHA512" lorsqu'ils sont supportés par la bibliothèque Net-SNMP.
|
Exemple #1 Exemple avec snmp3_set()
<?php
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifAlias.3', 's', "foo");
?>Exemple #2 Exemple avec snmp3_set() pour configurer l'identifiant de l'objet SNMP BITS
<?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');
?>