Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : SNMP Functions : snmpwalkoid

snmpwalkoid

Query for a tree of information about a network entity (PHP 4, PHP 5)
array snmpwalkoid ( string hostname, string community, string object_id [, int timeout [, int retries]] )

snmpwalkoid() function is used to read all object ids and their respective values from an SNMP agent specified by hostname.

The existence of snmpwalkoid() and snmpwalk() has historical reasons. Both functions are provided for backward compatibility. Use snmprealwalk() instead.

Parameters

hostname

The SNMP agent.

community

The read community.

object_id

If NULL, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout
retries

Return Values

Returns an associative array with object ids and their respective object value starting from the object_id as root or FALSE on error.

Examples

Example 2268. snmpwalkoid() Example

<?php
$a
= snmpwalkoid("127.0.0.1", "public", "");
for (
reset($a); $i = key($a); next($a)) {
   echo
"$i: $a[$i]<br />\n";
}
?>


Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

See Also
snmpwalk()

Code Examples / Notes » snmpwalkoid

thammer

The above note mentions that the MAC addresses come back converted to integers or something funky like that. Not sure why that is happening but I fixed that with a wrapper function.
function PadMAC($mac) {
   $mac_arr = explode(':',$mac);
   foreach($mac_arr as $atom) {
       $atom = trim($atom);
       $newarr[] = sprintf("%02s",$atom);
   }
   $newmac = implode(':',$newarr);
   return $newmac;
}
Maybe that will help somebody with that issue. I know I personally use the heck out of these user contributed notes


jasper

N.B. it's possible for snmpwalkoid to lose data - the "rmon.matrix.matrixSDTable" table for example uses binary mac addresses as part of the index, these get converted to ascii, and by the time they get to php they can be non-unique - so some entrys in the table get lost...

gene_wood

Looks like timeout is in MICRO seconds.
1,000,000 &micros = 1 s


Change Language


Follow Navioo On Twitter
snmp_get_quick_print
snmp_get_valueretrieval
snmp_read_mib
snmp_set_enum_print
snmp_set_oid_numeric_print
snmp_set_oid_output_format
snmp_set_quick_print
snmp_set_valueretrieval
snmpget
snmpgetnext
snmprealwalk
snmpset
snmpwalk
snmpwalkoid
eXTReMe Tracker