如何使用 NET-SNMP API 获取 OID 的语法类型和读/写访问权限?
我正在编写一个使用 SNMP 协议在远程机器上读取和设置值的 SNMP 工具。在设置该值之前,我需要从 MIB 文件中检查其类型和访问权限(是否允许在服务器上写入该值)。
不幸的是,我在 Net-SNMP 文档中找不到有关如何执行此操作的任何提及。
大致说来:
oid名称[128];
size_t name_length = OID_LENGTH(name);
严格树*tp;
read_objid("sysContact.0", &name, &name_length);
tp = get_tree(name, name_length, get_tree_head();
然后查看 net-snmp/library/parse.h 文件中的树结构,你需要的所有好数据都在里面。
另请参阅 apps/snmptranslate.c 文件以获取更多示例。