SNMP y PHP

Que tal,  esta es la segunda parte sobre el protocolo snmp, si quieres saber los conceptos básicos de snmp, dirígete a este articulo.

Lo primero que hay que hacer es activar la extensión snmp, hay que ir al archivo php.ini, abrirlo y buscar esta línea:

;extension=php_snmp.dll

quítale el punto y coma(;) y reinicia apache.

Como conejillo de indias tomare una impresora hp modelo 6500,  esta impresora tiene la ip 192.168.1.48

Empezaré con la función que realizará un barrido completo de todos los oid de la impresora y nos devolverá el tipo de dato y el valor.

en un archivo php escriban este código:

 $a = snmpwalk("192.168.1.48", "public", "");
   foreach ($a as $val)
  {  echo "$val "; }

Al ejecutarlo recibiremos algo como esto:

Como pueden ver  al hacer  snmpwalk sobre la impresora, esta nos devuelve el tipo de oid y el valor que en ese momento tiene ese canal. Ahora vamos a obtener algo parecido al ejemplo anterior solo que esta vez nos mostrara los oid.

Vamos de nuevo a nuestro archivo php y esta vez hay que escribir esto:

$a = snmprealwalk ("192.168.1.48", "public", "");
 for (reset($a); 
$i = key($a);
 next($a)) 
{    
 echo "$i: $a[$i] \n"; 
} 

y al córrelo se obtiene algo parecido a esto:

Como pueden notar ahora también aparece el oid entre los valores devueltos, recuerden que pueden cambiar ese .iso. por el .1. en otras palabras el oid .iso.3.6.1.2.1.4.2.0   es igual a .1.3.6.1.2.1.4.2.0

Lo que me gusta de php es que puede invocar de forma nativa funciones snmp a diferencia de otros lenguajes como java o c# que necesitan de librerías para poder leer snmp.

Por último vamos a realizar el ejemplo que nos devolverá solo el tipo de datos y el valor de un Oid en específico, escriban este código:

$valor = snmpget("192.168.1.48", "public", ".iso.3.6.1.2.1.2.2.1.12.3");
  echo $valor; 

y como resultado obtenemos esto: Counter32: 11255

Bien, por el momento lo dejaré hasta aquí, ya que acaba de amanecer y me la pase toda la noche peleando con una instancia de la bazofia que llaman moodle y eso me ha puesto de mal Humor.

Related Posts Plugin for WordPress, Blogger...

publicidad

2 Comments

Deja una respuesta

Tu dirección de correo electrónico no será publicada.