- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在学习 net-snmp 代码库。解析MIB。
在 parse.c 和 parse.h
代码中保留了一个哈希桶。 (索引桶(树列表))
。
还有一个树结构,它包含一个 next 指针,指向 名称哈希列表中的下一个节点。
struct tree{
.
.
struct tree *next; // Next node in hashed list of names
int modid; // The module containing this node
}
我打印了 MIB,
SNMP-FRAMEWORK-MIB:snmpFrameworkMIB(10) type=24 Next-> ' ipSystemStatsHCOctetGroup ipSystemStatsOutFragReqds ifStackGroup2 ifOutErrors '
我不明白 Next-> 之后出现的对象名称之间有什么关系?
对象名称在一起的标准是什么? 我目前还不清楚代码。
什么是调制解调器?它的值不等于模块 OID!
注意:为了纯粹遍历 MIB 树中的目的,给出了 *child、*parent 和 *peer!此外,modid
不是 OID 的一部分。
parse.h 中名为“模块兼容性”的数据结构:
struct module_compatability {
const char *old_module;
const char *new_module;
const char *tag; /* NULL implies unconditional replacement,
* otherwise node identifier or prefix */
size_t tag_len; /* 0 implies exact match (or unconditional) */
struct module_compatability *next; /* linked list */
};
这个结构有什么用?在什么意义上兼容?
最佳答案
我也使用 Net-snmp 有一段时间了,我与您分享我的观察。
可能这会对你有所帮助。
<强>1。结构树 *next;
struct tree * next; /* Next node in hashed list of names */
Net-snmp 功能提供通过模块的“名称”进行查询,
Object 当查询的对象名称(字符串)为ASCII时,即
$ snmptranslate -On -IR bundleSize
-
-
.1.3.6.1.4.1.26149.2.1.2.2.1.9
它有一个大小为 128 的哈希表(内部)数据结构“桶”。
哈希函数:
name_hash(str*) - return some of ASCII value.
然后这个哈希值被传递到宏NBUCKET(x) - 返回索引(0-127)。冲突通过如下链接解决。 bucket[i]->next->next->next.......
此代码存在于 parse.c --
tree->next
和 'bucket'
以下列方式管理:
tp->hash = name_hash(tp->name); // Fist find hash value as some of ASCII
b = BUCKET(tp->hash); // map hash value into (0-127)
if (buckets[b]) // check for collision
tp->next = buckets[b]; // collision is resolved ny chan chain
buckets[b] = tp; // new coming node become first node in chain
<强>2。 int modid;
parse.h 中名为“模块兼容性”的数据结构:
This is an array of structre 'module compatability' use to store compatible
basic MIB name (RFC's defined).
const char *old_module; // snmp-v1
const char *new_module; // snmp-v2
关于c - net-snmp解析代码,如何解析MIB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12798871/
这是我使用 perl 遍历 net:snmp 中的表的代码: #! /usr/local/bin/perl use strict; use warnings;
在 Centos 上,我遇到了以下错误: sudo snmptrap -v 2c -c read localhost '' UPS-MIB::upsTraps MIB search path: /ro
我想用 net-snmp 显示各种 MIBS 的列表,并显示与 SNMP 树结构相关的其他信息。 现在我的客户的 SMIv1 MIBS 没有出现在列表中,但是被 net-snmp 正确加载了。 示例
我正在尝试将一些 .my 文件从 cisco 站点转换为 .py 文件以用于 pysnmp 应用程序,但每个文件都失败了。 ftp://ftp.cisco.com/pub/mibs/supportli
将一些 OID 映射到系统命令实际上就是我所需要的 但是,我还找不到解释如何编写此类内容的资源。 任何的想法? 最佳答案 有关于 SNMP 和 MIB 的书籍,例如 SNMP MIB Handbook
我已经开始研究一个 MIB,但 smilint 提示缺少一致性组。如何将此一致性组添加到我的文件中? BLEH-PRODUCT-MIB DEFINITIONS ::= BEGIN -- Objects
我想构建一个自定义 MIB,在其中定义一些可以由其他人(客户端)访问和管理的有用对象。 我已经在谷歌上搜索了几个小时,但没有找到任何有趣的文档。 那么首先,是否可以构建自定义 MIB?如果是,是否有任
我有以下代码来解析名为 mibp 的文件夹中的 mib。 #include #include #include #include int main(int argc, char ** argv)
我不确定这是否是正确的地方,但我想知道是否可以通过 snmp 监控非商业版本的 mysql 数据库(表、空间..)。 http://www.mysql.com/products/community/
我希望能够在 cisco 路由器上使用 snmpget 通过查看它正在处理的数据包数量来确定它是否繁忙。我想这样做,这样我就可以计划好在路由器不忙时使用它的时间。我试过了 snmpget -v1 -c
我想开发一个Python代码,它将在远程Linux服务器上运行,并且可以使用SNMP的所有功能,如SNMPGet、SNMPSet、SNMPWalk。基本上我想创建有助于探测的表达式 MIB。我不明白如
我正在尝试找出一种方法来在 MIB 文件中定义标量的动态长度序列(在本例中为 IpAddress)。我相当确定仅使用 SYNTAX SEQUENCE OF IpAddress 是行不通的,而且我不确定
我终于成功地使用以下 python 脚本为我的专有 MIB 生成了 Get 命令: from pysnmp.entity.rfc3413.oneliner import cmdgen errorInd
如何通过 mib 文件将 SNMP-OID 转换为字符串? 我使用 SNMPSharpLib,但我不知道如何解析对象。 我收到陷阱 (v2),它们包含“ObjectIDentifier”字段,但我需要
在基于 Linux 的嵌入式系统中,MIB 文件中指定的每个 OID 的 SNMP MIB OID 值和访问类型存储在哪里? (如网络设备、机顶盒、机器控制、工业自动化)应该有内部数据库来存储所有这些
我对 SNMP 有一点了解,但还不够。我需要开发一个可以读取标准 SNMP MIB 并读取/写入各种属性的应用程序。网络端没问题,但实际的 MIB 以及它们可能包含的确切内容对我来说是一种黑色艺术。
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5 个月前关闭。 Improve t
如果您正在为定制的应用程序编写自己的 MIB,那么您应该使用哪个分支是否有“最佳实践”。我正在考虑类似于私有(private) IP 地址的东西,可以在企业内部使用,而不会与注册 IP 地址冲突 我被
我想从管理器拥有的 MIB 文件中读取所有对象。 我开发了一种工具来从支持 SNMP 的代理获取一些数据。我想通过显示经理的 MIB 文件中的所有 OID 来增强该工具。 我正在使用 NET-SNMP
我正在使用 java Mibble 库来处理 MIB 文件并为我的 snmp 代理创建 MIB 实现。并有一个小问题: 有一个 DisplayString 类型,它是 OCTET_STRING 的表示
我是一名优秀的程序员,十分优秀!