【问题标题】:Looking for an .NET SNMP Extension agent寻找 .NET SNMP 扩展代理
【发布时间】: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 工作,谁能推荐一种方法来最大限度地减少所需的未管理代码量?

【问题讨论】:

    标签: .net windows .net-4.0 snmp mib


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      试试吧。

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

      日本

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

      【讨论】:

      • 您会发现您的答案与问题描述不符。我敢打赌@Pete Stensønes 已经签出了#SNMP 或 SNMP#NET。他正在寻找的是略有不同的东西:)
      猜你喜欢
      • 2011-05-19
      • 1970-01-01
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 2020-06-12
      相关资源
      最近更新 更多