寻找 .NET SNMP 扩展代理

Posted

技术标签:

【中文标题】寻找 .NET SNMP 扩展代理【英文标题】:Looking for an .NET SNMP Extension agent 【发布时间】:2011-02-20 15:00:37 【问题描述】:

我正在开发一个 C#(针对完整框架 4)Windows 应用程序。我需要该应用程序写入一些简单的计数器,更重要的是在发生重大应用程序事件时引发(或者应该触发)一些 SNMP 陷阱。

现在大多数可用的 .NET SNMP 库都可以做到这一点,到目前为止一切都很好。但是,我还有一个重要的进一步要求;我的 MIB 必须添加到 PC 自己的 MIB 中,它不能用你的 Windows PC 替换所有“现成的”好的 SNMP 东西。

最后一个似乎很重要。迄今为止,我的所有调查都表明,任何 .NET SNMP 解决方案似乎都可以取代 Windows MIB 和 SNMP 服务;他们替换了 Windows MIB 来公开你的 MIB。我需要将我的添加到 Windows。

解决方案必须添加它自己的 MIB 到 Windows 部署 PC,据我所知,这意味着它必须(至少部分地)提供非托管 SNMP 扩展 DLL 来扩展标准窗口SNMP 服务。

谁能推荐一种方法来扩展标准 Winsows SNMP 服务,并为您自己的 MIB 提供非常适合托管代码的扩展代理? 如果我必须为扩展代理做一些本机 Win32 C/C++/Delphi 工作,谁能推荐一种方法来最大限度地减少所需的未管理代码量?

【问题讨论】:

【参考方案1】:

如果你想扩展微软的 Windows SNMP 代理,你必须使用非托管语言。

几乎不可能使用托管语言,因为微软更喜欢 WMI 而不是 SNMP,并且不会对当前的 SNMP 代理进行任何更改。

您可以咨询商业 .NET SNMP 代理供应商,看看他们是否已经实现了您需要的所有必要对象。据我所知,开源/免费的 .NET SNMP 供应商没有那么多资源来实现这些。

【讨论】:

【参考方案2】:

我发现了一个名为 snmpsharpnet 的程序集,它对于在 .NET 上使用 SNMP 非常有帮助。

您将在this *** 回答中找到使用它的一种方式(高级)的示例。

但请查看文档。您可以通过两种方式使用此程序集:

    创建您自己的 SNMP(V1、V2c、V3)PDU 的低级别 高级,您只使用 SNMP

试试吧。

另一种方法是在 Windows 顶部使用 NET-SNMP。我想你可以在 CygWin 上使用你的 Linux 工具。

日本

PS : 法国人可以找到这个大会的第一步on my company blog

【讨论】:

您会发现您的答案与问题描述不符。我敢打赌@Pete Stensønes 已经签出了#SNMP 或 SNMP#NET。他正在寻找的是略有不同的东西:)

以上是关于寻找 .NET SNMP 扩展代理的主要内容,如果未能解决你的问题,请参考以下文章

Windows 2012 R2 32 位 SNMP 扩展代理

什么 .NET 的 SNMP 库使陷阱、设置或变得简单? [关闭]

Net-SNMP - 在新的 MIB 模块中编译,无需编译整个 SNMP 代理

寻找具有可重用性的免费 .NET ORM/BL 工具 [关闭]

如何配置设备侧的SNMP参数

网络编程——ne-snmp开发实例1