3

我需要在 Windows 上为我们公司的产品编写一个 SNMP 代理。

SnmpApi.lib - 据我了解,SnmpApi.lib 允许您从头开始创建完整的代理,并且可能需要更多的工作。但是,这会接管 SNMP 端口,并且不允许其他代理运行,并且需要更长的时间来编写代码。

MgmtAPI.lib - 这个库将允许创建对已经运行的 Windows SNMP 服务的扩展,并且似乎是一种更优雅的创建 Windows 代理的方法。但是,我发现很少有关于如何编写这样一个代理的官方 MS 文档/示例。我还在另一个论坛上读到这可能已被弃用。

我在野外看过一本名为“Windows NT SNMP”的 Oreilly 书,但我听说它使用了已弃用的库或技术。我不知道这是不是真的。

我也见过像 SNMP++ 这样的库,它们使用 SnmpAPI.lib 创建代理,但是,这似乎不像通过 MgmtAPI.lib 在系统上允许多个子代理那样优雅。

几个问题:

我听说 MgmtAPI.lib 是旧版/已弃用。这是真的?

创建 Windows SNMP 代理的最佳做法是什么?

我应该使用什么库?

还有其他建议吗?

谢谢!

4

1 回答 1

2

默认的 windows SNMP 堆栈和框架的能力非常有限。不幸的是,您的最佳解决方案可能在其他地方找到(其中有许多外部库和堆栈)。如果您想要一个模块化并允许子代理的,那么请查看支持 AgentX 协议的堆栈。这是一个标准化的 SNMP 子代理协议,可以让多个子代理连接到一个主代理。

但无论您做什么,请选择支持 SNMPv3 的堆栈并使用其中的安全性。

如果您想要一个已知在 Windows 上运行良好的随机堆栈示例,请尝试在“替换 Windows 上的 SNMP 堆栈”人群中相当流行的Net-SNMP 。但我也有偏见并与该项目相关,所以我会说:“没关系;选择任何同时支持 AgentX 和 SNMPv3 的堆栈”。

于 2012-03-20T14:13:36.073 回答