3

我想使用 net-snmp 为 PowerPC 板实现 SNMP 代理。以前它是使用 SMASH 实现的。SMASH 有一个解析器,可以读取 MIB 并生成 C 代码(空白函数实现)

我该如何开始?

4

3 回答 3

2

尝试从 net-snmp查看mib2c工具。它将从 MIB 生成 snmp 代理 C 代码。然后,您只需满足 SNMP 请求的返回值。响应 SNMP 请求(get、set、get-next)的骨架是通过生成自动完成的。

于 2012-04-26T11:19:13.890 回答
2

您是否看过编写 MIB 模块 教程

于 2011-10-30T06:57:18.497 回答
0

我对此采取了不同的方法。为了更好地与我的 C++ 生态系统集成,并获得更大的灵活性(特别是在规模上),我:

  • 有一个预构建步骤将snmptranslate(即 MIB 树)的结果解析为一堆 C++ 映射和其他容器以在代码中使用
  • 借用 Net-SNMP 的传输和 PDU 构建功能
  • 但是在收到后自己服务请求,使用我的 C++ 地图和我的应用程序已经可用的数据

这使得通知生成变得微不足道(我只需要一些变体类型来生成 varbinds,一些 PDU 构造,然后将其余部分留给 Net-SNMP 的传输功能),尽管对于请求我必须自己实现表遍历(和GetNext / GetBulk / Set并非微不足道,除非您避免使用所有表,或者至少避免使用复合索引表)。

其结果是一个快速、健壮和可扩展的 SNMP 代理,具有易于维护和扩展的富有表现力的代码。

您不会说您使用的是 C++,但这确实让您了解如何挑选 Net-SNMP 功能,而不必购买其整个生态系统。

请注意,我不知道 SNMPv3 如何适合此模型。在这成为我的问题之前,我巧妙地离开了公司。:)

于 2018-09-05T13:14:34.653 回答