定义MIB并在.net下发送SNMP陷阱

Tom*_*Tom 7 .net snmp mib sharp-snmp snmp-trap

我已经为C#中的.net公司开发了一个特殊的应用程序,它已经使用多年了.现在它开发了,我必须实现的一个主要新功能是通过在某些警报情况下向其发送SNMP陷阱来将其与另一个软件集成.

我是一名经验丰富的开发人员,但我从未使用过SNMP.我搜索了一整天,但对这个话题越来越困惑.我没有明确的"起点".我理解SNMP的基础知识,但我不知道在哪里以及如何开始实现.

我有通过SNMP陷阱发送的数据,它有10个属性,一些日期,数字和字符串.我应该在这个属性上创建MIB定义.稍后我应该在我的应用程序中实现一个基于此MIB发送SNMP陷阱的功能.

该项目是在c#的.net 4下开发的.我发现这个库看起来很有希望:http://sharpsnmplib.codeplex.com/ 它有一些关于发送SNMP陷阱的示例.

我的问题是:从哪里开始?如何定义MIB文件?我知道他们是一些必须编译的文本文件,但没有找到任何MIB编辑器和帮助这个主题.

任何帮助表示赞赏!

谢谢!

Mut*_*thu 3

我不是专家,但有与您处于同一位置的经验,并最终找到了足够适合我的项目的东西。

我使用了你之前提到的这个 codeplex 库,发现非常好。以下是您浏览http://sharpsnmplib.codeplex.com/的一些提示。

  • 据我了解,当您需要执行 snmpget 和 snmpset 时,需要 MIB 文件
    • 这是您通知服务器,服务器返回给您的客户端询问更详细的信息,如果您需要共享有关您的应用程序的大量信息,则可能需要这样做
  • 如果你只需要陷阱,你可以这样做
    • 运行 snmpd.exe,它将像 snmp 服务器一样接收从您的应用程序发送的陷阱。
    • 编写一个类似于 snmptrapd.exe 的程序并发送陷阱。

链接http://www.net-snmp.org/wiki/index.php/TUT:snmptrap是一个很好的获得基本理解和获取更多库信息的链接。

编辑:刚刚漏掉了一点。如果您对 snmp 使用 get 和 set,则需要 MIB 文件。如果你只有陷阱,你可能不需要它。