我有一个带有 windows 7 的 vm。我已经安装了 windows snmp 代理服务。然后从我的电脑上,我用 C# 开发了一个小程序,使用snmpsharpnet与 SNMP 代理进行通信,并且可以正常工作!
我使用了一些示例 OID,例如:
- .1.3.6.1.2.1.1.1.0 获取系统描述
- .1.3.6.1.2.1.25.1.6。获取进程数
所以我的程序有效并且我有正确的网络连接。
string host = "192.168.1.92";
string community = "public";
SimpleSnmp snmp = new SimpleSnmp(host, community);
if (!snmp.Valid)
{
Console.WriteLine("SNMP agent host name/ip address is invalid.");
return;
}
Dictionary<Oid, AsnType> result = snmp.Get(SnmpVersion.Ver1, new string[] { ".1.3.6.1.2.1.25.3.3.1.2" });
if (result == null)
{
Console.WriteLine("No results received.");
Console.ReadKey();
return;
}
foreach (KeyValuePair<Oid, AsnType> kvp in result)
{
Console.WriteLine("{0}: {1} {2}", kvp.Key.ToString(),
SnmpConstants.GetTypeName(kvp.Value.Type),
kvp.Value.ToString());
}
Console.ReadKey();
}
现在我正在尝试使用.1.3.6.1.2.1.25.3.3.1.2来获得 cpu 负载,但我没有工作(从这里获取信息)。我还安装了一个 Mib 浏览器(来自ireasoning.com)来学习正确的 OID。
我的问题是:
从 Windows 7 获取 CPU 负载的正确 OID 是哪个?
OID 并非对所有系统都通用,不是吗?我的意思是 linux、windows、路由器有自己的 OID?
在哪里可以找到 Windows 7 的 OID?