我正在使用PYSMI库来解析MIB,它为我提供了我需要的所有数据,除了每个条目的描述之外。
我将他们的示例代码行用于其网站上的行:http://snmplabs.com/pysmi/library-reference.html
除了说明,我从名称,语法等中获得了所有信息。
mibCompiler = MibCompiler(SmiStarParser(), JsonCodeGen(),
CallbackWriter(self.json_create))
# search for source MIBs here
mibCompiler.addSources(*[FileReader(x) for x in src])
# search for source MIBs at Web sites
mibCompiler.addSources(*[HttpReader(*x) for x in self.http_src])
# never recompile MIBs with MACROs
mibCompiler.addSearchers(StubSearcher(*JsonCodeGen.baseMibs))
# run recursive MIB compilation
results = mibCompiler.compile(*self.input_mibs)
我希望得到一部包含所有内容的字典,包括条目说明,但这是我找不到的唯一信息。有人知道我可能会缺少什么吗?
答案 0 :(得分:2)
PySMI文档说明:
大多数MIB都很冗长。它们包含许多以通俗易懂的英语编写的以人为本的描述和说明。这些文本可能对MIB浏览器应用程序有用(将这些文本显示给操作员),但在其他应用程序中可能没有任何意义。
为节省空间和CPU时间,PySMI默认不将这些文本包含到转换后的MIB中。但是,可以通过添加–generate-mib-texts选项来还原。
我跟踪了代码,发现如果您这样调用编译器:mibCompiler.compile(*self.input_mibs, **dict(genTexts=True))
,它将生成描述。