Исключение SNMP GET snmp, когда ответ в V1 имеет конечные байты данных при использовании SharpSnmpC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Исключение SNMP GET snmp, когда ответ в V1 имеет конечные байты данных при использовании SharpSnmp

Сообщение Anonymous »

Исключение SharpSnmpLib SNMP V1 GET snmp выдается при запросе оборудования определенного поставщика, расположенного в удаленных сетях. Другое программное обеспечение, такое как iReasoning MIB Browser, SNMPB или SnmpSharpNet, работает нормально на одном и том же OID и оборудовании.
Ошибка различается, даже если оборудование такое же и OID тот же, но расположен в другом месте. другая сеть. Похоже, в конец UDP-пакета добавляется сегмент данных. На одном оборудовании сообщение об ошибке может быть таким: «Конец файла BER», а на другом идентичном оборудовании сообщение об ошибке может быть «неподдерживаемый тип данных: 34». " или "неподдерживаемый тип данных: 115" и т. д. В одном и том же OID обнаружено множество разных типов данных, но из разных частей оборудования.
Ошибка возникает в исходном файле проекта «MessageFactory.cs» в подпрограмме ParseMessage. Если я поймаю ошибку и продолжу, программа будет работать нормально. Я игнорирую ошибку для конечной части байтов данных, которые не анализируются должным образом.
[img]https://i.sstatic. net/9WXdv.png[/img]

Пакеты Wireshark также показаны ниже:
Изображение

А вот еще одна ошибка на другом фрагменте точно такого же SNMP-устройства и OID , просто другой IP-адрес.
Изображение

Похоже, что завершающая часть данных приводит к тому, что API выдает ошибку, поскольку он не распознает ее как допустимую переменную. Тем не менее, другие пакеты программного обеспечения справляются с этим без появления сообщений об ошибках. Мне придется изменить исходный код Sharp SNMP, чтобы использовать API, если не будет найдено лучшее решение. Моя модификация предполагает обнаружение ошибки и движение дальше. Первая переменная в цикле уже найдена и возвращает правильное значение. Ошибка возникает при продолжении работы с первой переменной, поскольку поток не достиг конца.

Подробнее здесь: https://stackoverflow.com/questions/668 ... n-using-sh
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Библиотеки SNMP C#, SharpSnmp против SnmpSharpNet
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • #SNMP — Как скомпилировать файл MIB с помощью SharpSNMP?
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Слой [<класс 'scapy.layers.snmp.SNMP'>] не найден
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Реализация SharpSNMP на основе примера snmptrad перестает работать
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Когда я создаю настраиваемую модель регистра, в .NET 8 появляются две конечные точки. Как удалить избыточные конечные то
    Anonymous » » в форуме C#
    0 Ответы
    58 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»