phpday 2025 - Call For Papers

Fonctions SNMP

Sommaire

  • snmp_get_quick_print — Lit la valeur courante de l'option quick_print de la bibliothèque NET-SNMP
  • snmp_get_valueretrieval — Retourne la méthode avec laquelle les valeurs SNMP seront retournées
  • snmp_read_mib — Lit et analyse un fichier MIB dans l'arbre actif MIB
  • snmp_set_enum_print — Retourne toutes les valeurs qui sont des énumérations avec leur valeur d'énumération au lieu de l'entier
  • snmp_set_oid_numeric_print — Alias de snmp_set_oid_output_format
  • snmp_set_oid_output_format — Définit le format de sortie OID
  • snmp_set_quick_print — Écrit la valeur courante de l'option enable de la bibliothèque NET-SNMP
  • snmp_set_valueretrieval — Spécifie la méthode avec laquelle les valeurs SNMP seront retournées
  • snmp2_get — Récupère un objet SNMP
  • snmp2_getnext — Récupère l'objet SNMP qui suit immédiatement l'identifiant de l'objet fourni
  • snmp2_real_walk — Retourne tous les objets incluant les identifiants de leurs objets respectifs
  • snmp2_set — Définit la valeur d'un objet SNMP
  • snmp2_walk — Récupère tous les objets SNMP depuis un agent
  • snmp3_get — Récupère un objet SNMP
  • snmp3_getnext — Récupère l'objet SNMP qui suit immédiatement l'objet fourni
  • snmp3_real_walk — Retourne tous les objets incluant les identifiants de leurs objets respectifs
  • snmp3_set — Définit la valeur d'un objet SNMP
  • snmp3_walk — Récupère tous les objets SNMP depuis un agent
  • snmpget — Reçoit un objet SNMP
  • snmpgetnext — Récupère un objet SNMP qui suit immédiatement l'objet fourni
  • snmprealwalk — Retourne tous les objets, y compris les identifiants respectifs inclus dans l'objet
  • snmpset — Définit la valeur d'un objet SNMP
  • snmpwalk — Reçoit tous les objets SNMP d'un agent
  • snmpwalkoid — Demande d'informations d'arbre sur une entité du réseau
add a note

User Contributed Notes 2 notes

up
7
1413 at blargh dot com
19 years ago
For my purposes in PHP coding, I have the following SNMP options set, always. These aren't documented very well in PHP's docs, but they make dealing with the SNMP results a LOT easier:

<?php
// Return back the numeric OIDs, instead of text strings.
snmp_set_oid_numeric_print(1);

// Get just the values.
snmp_set_quick_print(TRUE);

// For sequence types, return just the numbers, not the string and numbers.
snmp_set_enum_print(TRUE);

// Don't let the SNMP library get cute with value interpretation. This makes
// MAC addresses return the 6 binary bytes, timeticks to return just the integer
// value, and some other things.
snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
?>
up
-1
Chris
17 years ago
Here's a fresh list of API for SNMPv1, SNMPv2c, and SNMPv3 as of PHP 5.2.4:

SNMPv1
------
string snmpget(string host, string community, string object_id [, int timeout [, int retries]]);

string snmpgetnext(string host, string community, string object_id [, int timeout [, int retries]]);

array snmpwalk(string host, string community, string object_id [, int timeout [, int retries]]);

array snmprealwalk(string host, string community, string object_id [, int timeout [, int retries]]);

bool snmp_get_quick_print(void);

void snmp_set_quick_print(int quick_print);

void snmp_set_enum_print(int enum_print);

void snmp_set_oid_output_format(int oid_format);

int snmpset(string host, string community, string object_id, string type, mixed value [, int timeout [, int retries]]);

SNMPv2c
-------
string snmp2_get(string host, string community, string object_id [, int timeout [, int retries]]);

string snmp2_getnext(string host, string community, string object_id [, int timeout [, int retries]]);

array snmp2_walk(string host, string community, string object_id [, int timeout [, int retries]]);

array snmp2_real_walk(string host, string community, string object_id [, int timeout [, int retries]]);

int snmp2_set(string host, string community, string object_id, string type, mixed value [, int timeout [, int retries]]);

SNMPv3
------
int snmp3_get(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id [, int timeout [, int retries]]);

int snmp3_getnext(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id [, int timeout [, int retries]]);

int snmp3_walk(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id [, int timeout [, int retries]]);

int snmp3_real_walk(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id [, int timeout [, int retries]]);

int snmp3_set(string host, string sec_name, string sec_level, string auth_protocol, string auth_passphrase, string priv_protocol, string priv_passphrase, string object_id, string type, mixed value [, int timeout [, int retries]]);

General
-------
int snmp_set_valueretrieval(int method);

int snmp_get_valueretrieval();

int snmp_read_mib(string filename);

SNMPv3 options
--------------
SNMPv3 offers a different authentication/authorization scheme than previous versions of SNMP. To aid in using the API listed above, here is a brief explanation of each of the unique parameters used in the snmp3_* functions.

$sec_name - the "username" used for authentication to the system

$sec_level - the authentication scheme ('noAuthNoPriv', 'authNoPriv', or 'authPriv')

$auth_protocol - the encryption protocol used for authentication ('MD5' [default] or 'SHA')

$auth_passphrase - the encrypted key to use as the authentication challenge

$priv_protocol - the encryption protocol used for protecting the protocol data unit ('DES' [default], 'AES128', 'AES192', or 'AES256')

$priv_passphrase - the key to use for encrypting the protocol data unit

There are good code snippets available on http://forums.cacti.net/about5403.html for more information.
To Top