使用 Net-SNMP API 从 MIB 获取 OID 类型(语法)

发布于 2024-10-14 00:45:01 字数 189 浏览 1 评论 0原文

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

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

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

How can I get the syntax type and read/write access for an OID using NET-SNMP API?

I am writing an SNMP tool that reads and sets values on a remote machine using SNMP protocol. Before setting the value, I need to check its type and access permissions (whether it is allowed to write this value on the server or not) from the MIB file.

Unfortunately, I could not find any mention regarding how to do this in the Net-SNMP documentation.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一个人练习一个人 2024-10-21 00:45:01

粗略地说:

  oid name[128];
  size_t name_length = OID_LENGTH(name);
  strict tree *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 文件以获取更多示例。

Roughly speaking:

  oid name[128];
  size_t name_length = OID_LENGTH(name);
  strict tree *tp;

  read_objid("sysContact.0", &name, &name_length);
  tp = get_tree(name, name_length, get_tree_head();
  

Then look through the net-snmp/library/parse.h file for the tree structure and all the good data you need is inside it.

Also see the apps/snmptranslate.c file for further examples.

﹂绝世的画 2024-10-21 00:45:01

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

What Wes said should probably work for what you're trying to do. Alternatively, in your implementation, to check the input type of the set value explicitly, use netsnmp_check_vb_type(). For checking permissions, net-snmp will throw a notWritable error if you try to modify a field without write access (as defined in the relevant MIB).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文