我让Walker向网络设备请求了一些信息。
IPEndPoint receiver = new IPEndPoint(ip, 161);
IList<Variable> result = new List<Variable>();
WalkMode mode = WalkMode.WithinSubtree;
Messenger.Walk(VersionCode.V1, receiver, new OctetString(community), new ObjectIdentifier("1.3"), result, timeout, mode);
代码会在您的设备上完美地返回所有OID,但我需要将这些名称转换为OID。 我看到了进行此转换的示例,但是它使用了MIB的编译,我将从加载的MibModule方法Parser.ParseToModules(...)列表中进行此转换。
如何链接?
答案 0 :(得分:0)
var modules = Parser.ParseToModules(docs, out errors, out warnings);
var assembler = new Assembler();
assembler.Assemble(modules);
您可以使用Assembler
类来进一步处理模块。 Assembler.Tree
将为您提供一棵树(IObjectTree
),可用于执行OID /名称翻译。