【问题标题】:Get OID's type (syntax) from MIB using Net-SNMP API使用 Net-SNMP API 从 MIB 获取 OID 的类型(语法)
【发布时间】:2011-06-14 18:34:46
【问题描述】:

如何使用 NET-SNMP API 获取 OID 的语法类型和读/写访问权限?

我正在编写一个 SNMP 工具,它使用 SNMP 协议在远程机器上读取和设置值。在设置值之前,我需要从 MIB 文件中检查它的类型和访问权限(是否允许在服务器上写入这个值)。

不幸的是,我在 Net-SNMP 文档中找不到有关如何执行此操作的任何说明。

【问题讨论】:

    标签: snmp net-snmp oid


    【解决方案1】:

    粗略地说:

    名称[128]; size_t name_length = OID_LENGTH(name); 严格树 *tp; read_objid("sysContact.0", &name, &name_length); tp = get_tree(名称,name_length,get_tree_head();

    然后查看 net-snmp/library/parse.h 文件中的树结构,您需要的所有好数据都在其中。

    有关更多示例,另请参阅 apps/snmptranslate.c 文件。

    【讨论】:

      【解决方案2】:

      Wes 所说的应该对你想做的事情有用。或者,在您的实现中,要显式检查设置值的输入类型,请使用 netsnmp_check_vb_type()。为了检查权限,如果您尝试修改没有写入权限的字段(如相关 MIB 中所定义),net-snmp 将抛出 notWritable 错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多