snmpwalkoid
(PHP 4, PHP 5)
snmpwalkoid — Query for a tree of information about a network entity
Описание
$hostname
, string $community
, string $object_id
[, int $timeout
= 1000000
[, int $retries
= 5
]] )
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.
Список параметров
-
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 thatobject_id
are returned. -
timeout
-
The number of microseconds until the first timeout.
-
retries
-
The number of times to retry if timeouts occur.
Возвращаемые значения
Returns an associative array with object ids and their respective
object value starting from the object_id
as root or FALSE
on error.
Примеры
Пример #1 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
- 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
- snmp2_get
- snmp2_getnext
- snmp2_real_walk
- snmp2_set
- snmp2_walk
- snmp3_get
- snmp3_getnext
- snmp3_real_walk
- snmp3_set
- snmp3_walk
- snmpget
- snmpgetnext
- snmprealwalk
- snmpset
- snmpwalk
- snmpwalkoid
Коментарии
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...
Looks like timeout is in MICRO seconds.
1,000,000 µs = 1 s
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
make sure you install "snmp-mibs-downloader" in debian.
apt-get install snmp-mibs-downloader
you my also need to edit your /etc/apt/sources.list
deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.us.debian.org/debian/ wheezy main contrib non-free