2

我正在尝试从一系列设备中检索硬件信息,到目前为止,我使用了带有以下 OID 的 snmpget/snmpwalk,1.3.6.1.2.1.25.3.2.1但它返回的信息很少,例如,如果我从 Windows 操作系统在我的计算机上运行它,我会得到这些 CPU:

未知处理器

未知处理器

未知处理器

未知处理器

相反,如果我从 Debian 运行命令,我会得到正确的值:

正版英特尔:英特尔(R) Core(TM) i3 CPU M 330 @ 2.13GHz

猜测有一个浮点协处理器

我知道 Windows 和 Linux 以完全不同的方式填充 MIB,但例如,它们中的机器人似乎完全忘记了其他设备,例如视频卡或鼠标/键盘。Windows 正确显示键盘,Linux 没有。他们两个根本不显示视频卡和声卡。问题是否与我必须设置的某些选项有关?

如果我想获取更多信息,例如 CPU 频率,该怎么办?

4

1 回答 1

1

HOST-RESOURCES-MIB 是上述 OID 所在的位置,实际上将描述相当多的有关系统上硬件的信息。但:

  1. 该系统确实需要支持它。您已经表明 Windows SNMP 代理显然没有列出正确的内容并且在功能上已损坏。
  2. 即使在 linux 上,也不是系统中的每个组件都列在那里,因为 MIB 不应该列出这些类型的组件,或者没有编写代码来使其工作。

对于 linux 案例,您总是可以继续处理代码并将补丁提交回原始包(对于 linux,它当然是N​​et-SNMP包)。

还有 ENTITY-MIB 旨在更好地模拟系统的硬件,但我不知道 linux(或 windows)对它的支持。

最后,如果它没有返回正确的结果,您总是可以在 Windows 机器上运行不同的 SNMP 代理。IE,我听说(但我自己不使用 windows)Net-SNMP 代理在 windows 上提供了比本机 SNMP 代理更出色的功能。

于 2011-12-19T22:05:05.430 回答