Получить объект или объект 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/ имени.

Другие вопросы по тегам