我需要在Windows上为我们公司的产品编写SNMP代理。
SnmpApi.lib - 我的理解是SnmpApi.lib允许您从头开始创建一个完整的代理,可能需要更多的工作。但是,这会占用SNMP端口,并且不允许其他代理运行,并且需要更长的代码。
MgmtAPI.lib - 此lib将允许用户创建已经运行的Windows SNMP服务的扩展,并且似乎是创建Windows代理的更优雅的方法。但是,我发现关于如何编写这样的代理的官方MS文档/示例很少。我还在另一个论坛上看到这可能会被弃用。
我在野外看过一本名为“Windows NT SNMP”的Oreilly书,但我听说它使用了弃用的库或技术。我不知道这是不是真的。
我还看到像SNMP ++这样的库使用SnmpAPI.lib来创建代理,但同样,这并不像通过MgmtAPI.lib在系统上放置多个子代理那样优雅。
一些问题:
我听说MgmtAPI.lib是遗留/弃用的。这是真的吗?
创建Windows SNMP代理的最佳做法是什么?
我应该使用哪个库?
还有其他建议吗?
谢谢!
答案 0 :(得分:1)
默认的Windows SNMP堆栈和框架的能力非常有限。不幸的是,您可能在其他地方找到了最好的解决方案(其中有许多外部库和堆栈)。如果您想要一个模块化的并允许子代理,那么请查看支持AgentX协议的堆栈。这是一个标准化的SNMP子代理协议,可以让多个子代理连接到主代理。
但无论你做什么,请选择支持SNMPv3的堆栈并使用其中的安全性。
如果你想要一个已知在Windows上运行良好的随机堆栈示例,请尝试{“3}},它在”替换Windows上的SNMP堆栈“中非常流行。但我也有偏见并且与项目有关,所以我最后会说:“它没关系太多;选择任何支持AgentX和SNMPv3的堆栈。”