首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SNMP OID树遍历

SNMP OID树遍历
EN

Stack Overflow用户
提问于 2012-07-02 20:41:27
回答 1查看 4.1K关注 0票数 2

我正试图编写一个SNMP代理,坦白地说,整个过程就像阅读被翻译的立体声指令一样。但是我已经接近了,除了一个问题:实现GETNEXT操作。

考虑系统OID空间的以下块:

代码语言:javascript
复制
.1.3.6.1.2.1 .1.5.0
             .1.6.0
             .1.8.0
             .1.9.1 .2.1
                    .2.2
                    .2.3

为了确定,让我们假设我想做

代码语言:javascript
复制
 $ snmpwalk -On -v 2c -c public localhost .1.3.6.1.2.1.1.8.0

net-snmp首先在.1.8.0上执行GET,然后执行GETNEXT来实现这一点。GETNEXT应该从.1.8.0到.1.9.1.2.1,然后是.1.9.1.2.2等等。

我认识到,这只是概念上的深度第一步,但出于某种原因--年龄,也许--我只是想不出一种清晰的方法来实现这个搜索,当它必须找到GET节点,然后备份下一个调用并找到" next“节点。

请告诉我这是愚蠢的简单。

更新

我在26小时的编程之后写了这篇文章,所以我可以想象它还不清楚。以下是一个问题:

我需要一个函数后继器,它以一个OID作为输入,并返回下一个OID --其中下一步是深度--由SNMP工具实现的第一个顺序。我有两种解决方案,它们的工作方式是按深度枚举OID --第一阶,等待正确的解决方案;我正在寻找一个比O(l+n)更好的解决方案,其中l是OID的长度,n是OID的数量。

EN

回答 1

Stack Overflow用户

发布于 2013-06-07 11:54:56

检查响应PDU中的每个OID和您正在行走的根OID。如果你找到一个匹配的,那么你知道停止遍历这棵树。如果找不到匹配的,请发送下一个GET_MSG_BULK请求PDU。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11300851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档