我该如何在C#中编写SNMP代理或SNMP扩展代理DLL?

17

我需要为我的应用程序编写SNMP代理。

我阅读了CodeProject文章,了解如何使用win32编写SNMP扩展代理DLL,但我想知道是否可以使用托管代码完成。

另外,是否可以使用托管代码编写自己的SNMP代理,并在Windows SNMP服务中运行? 我的服务器需要运行Windows SNMP服务以提供基本的操作系统管理信息。

你推荐使用哪个C# SNMP库?我找到了一些C# SNMP协议实现,但找不到有关如何实现SNMP代理的示例代码 - 大多数示例只涉及查询其他代理或发送陷阱。

2个回答

5
如果您想要从.Net Framework使用SNMP协议,请考虑使用这个库:#SNMP。看起来可能可以用它编写自己的SNMP服务器。但是标准的SNMP Agent架构不是基于.Net的,因此我认为您不能使用上述库来扩展它。您必须编写自己的代码,并且使用上述库似乎是可行的。希望这有所帮助。br--mabra

#SNMP套件4版本现在有一个snmpd项目,展示如何用C#编写SNMP代理。 - Lex Li
#SNMP 5已经发布。它的代理现在支持SNMP v1、v2c和v3。 - Lex Li

2
  1. 这是我在8年的网络管理系统开发中使用过的最好的库——adventnet
  2. 你可以编写自己的库,但你需要了解ASN。祝你好运。
  3. SNMP代理只做两件事:查询数据、发送和接收陷阱。你还想让它们做什么?给你洗衣服吗?!(抱歉,我忍不住要这么说! :) )

你的SNMP代理将用于什么用途?你的应用程序需要发送陷阱吗?或者从节点查询数据?!


1
谢谢你的回答。我确实在C#中进行了一些ASN.1开发,但这不是我想要的 - 我只是在寻找一个好的库以及一些技巧和见解。我希望我的代理只发送陷阱并响应查询。至于洗衣,我的计划是使用Python - 应该很容易。 - zvikara
另一方面,对于洗衣服来说,使用Ajax应该会更好。 - zvikara
@[zvikara]:这是一个大胆的声明;-) - Steven A. Lowe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接