snmpwalkoid

(PHP 4, PHP 5, PHP 7, PHP 8)

snmpwalkoid查询有关网络实体的信息树

描述

snmpwalkoid(
    字符串 $hostname,
    字符串 $community,
    数组|字符串 $object_id,
    整数 $timeout = -1,
    整数 $retries = -1
): 数组|false

snmpwalkoid() 函数用于读取由 hostname 指定的 SNMP 代理中的所有对象 ID 及其各自的值。

snmpwalkoid()snmpwalk() 的存在有历史原因。为了向后兼容,提供了这两个函数。请改用 snmprealwalk()

参数

hostname

SNMP 代理。

community

读取社区。

object_id

如果为 null,则 object_id 被视为 SNMP 对象树的根,并将返回该树下所有对象,作为一个数组。

如果指定了 object_id,则将返回该 object_id 下的所有 SNMP 对象。

timeout

第一个超时之前等待的微秒数。

retries

超时发生时重试的次数。

返回值

返回一个关联数组,其中包含从 object_id 作为根开始的对象 ID 及其各自的对象值,或者在错误时返回 false

示例

示例 #1 snmpwalkoid() 示例

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

上面的函数调用将返回运行在本地主机的 SNMP 代理的所有 SNMP 对象。可以使用循环遍历这些值。

参见

  • snmpwalk() - 从代理中获取所有 SNMP 对象

添加说明

用户贡献说明 4 条说明

0
匿名
9 年前
确保在 Debian 中安装了 "snmp-mibs-downloader"。

apt-get install snmp-mibs-downloader

您可能还需要编辑 /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
0
thammer at rtccom dot com
19 年前
上面的说明提到 MAC 地址被转换成了整数或其他奇怪的东西。不知道为什么会出现这种情况,但我用一个包装函数解决了这个问题。

function PadMAC($mac) {
$mac_arr = explode(':',$mac);
foreach($mac_arr as $atom) {
$atom = trim($atom);
$newarr[] = sprintf("%02s",$atom);
}
$newmac = implode(':',$newarr);
return $newmac;
}

也许这可以帮助遇到此问题的人。我知道我个人经常使用这些用户贡献的说明。
0
gene_wood at example dot com
19 年前
看起来超时是以微秒为单位的。
1,000,000 微秒 = 1 秒
0
jasper at pointless dot net
23 年前
注意:snmpwalkoid 有可能丢失数据 - 例如 "rmon.matrix.matrixSDTable" 表使用二进制 MAC 地址作为索引的一部分,这些地址被转换为 ASCII,当它们到达 PHP 时,它们可能不再唯一 - 因此表中的一些条目会丢失......
To Top