通过SNMP检索硬件信息

时间:2011-12-09 15:08:09

标签: perl hardware snmp auditing

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

  

未知处理器

     

未知处理器

     

未知处理器

     

未知处理器

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

  

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

     

猜测有一个浮点协处理器

据我所知,Windows和Linux以完全不同的方式填充MIB,但是,对于它们来说,它们的机器人似乎完全忘记了其他设备,如视频卡或鼠标/键盘。 Windows正确显示键盘,Linux则没有。它们都不显示视频卡和声卡。这个问题是否与我必须设定的一些选项有关?

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

1 个答案:

答案 0 :(得分:1)

HOST-RESOURCES-MIB是上述OID所在的位置,它将描述相当多的系统硬件。但是:

  1. 系统确实需要支持它。您已经证明,Windows SNMP代理显然没有列出正确的内容,并且在功能上已被破坏。
  2. 系统中并不是每个组件都列在那里,即使是在Linux上也是如此,因为MIB不应该列出那些类型的组件,要么代码没有写入以使其工作。
  3. 对于linux的情况,你可以随时处理代码并将补丁提交回原始包(对于linux来说肯定是Net-SNMP包)。

    还有ENTITY-MIB用于更好地建模系统硬件,但我不知道linux(或windows)支持它。

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