Получить объект или объект MibModule из ObjectIdentifier [SharpSNMPLib]
Я сделал Уокер, запрашивающий у сетевого устройства некоторую информацию.
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 (...).
Как мне это связать?
1 ответ
Решение
var modules = Parser.ParseToModules(docs, out errors, out warnings);
var assembler = new Assembler();
assembler.Assemble(modules);
Ты можешь использовать Assembler
класс для дальнейшей обработки модулей. Assembler.Tree
даст тебе дерево (IObjectTree
) который может быть использован для выполнения перевода OID/ имени.