2016-07-01 8 views
0

Я пытаюсь использовать библиотеку и использую пример кода. Я могу использовать snmpwalk и она отлично работает: snmpget -c public localhost .1.3.6.1.2.1.1.1.0Lextm SharpSnmpLib Exception {"error in response"}

Выход: SNMPv2-MIB::sysContact.0 = STRING: Administrator [email protected] End of MIB

Я также использовал ManageEngine MibBrowser и она отлично работает, но с использованием библиотеки я получаю сообщение об ошибке { "ошибка в ответ "}, и, когда я проверяю деталь ошибки, ErrorStatus - NoSuchName.

Вот мой код c# var result = Messenger.Get(VersionCode.V1, new IPEndPoint(IPAddress.Parse("192.168.0.101"), 161), new OctetString("public"), new List<Variable> { new Variable(new ObjectIdentifier(ObjectIdentifier.Convert(".1.3.6.1.2.1.1.4"))) }, 60000);

Что я делаю неправильно?

ответ

0

Я отвечу на свой вопрос. Проблема заключалась в различной версии SNMP, я использовал V1, но агент использовал V2. Поэтому я изменил код

c# VersionCode.V2

+0

Ошибка VersionCode.V2, но я все равно не получаю правильный результат. Теперь я получаю NoSuchObject, в результате не исключение. – Joseph

+0

http://docs.sharpsnmp.com/ru/latest/tutorials/introduction.html Проверьте, какую именно операцию вы хотите выполнить, а затем используйте правильный API. –

+0

@LexLi Не уверен, что это значит, как показано выше, вы можете видеть, что я делаю операцию GET. Как я уже упоминал, первоначальная проблема была связана с версией SNMP. Я перешел на V2, и никаких исключений не было. Когда я использую командную строку snmpget, я получаю правильный результат, но я не получаю результат с помощью библиотеки. – Joseph

1

как вы сказали

Проблема была с разной версии SNMP, я использовал V1, но агент использовал V2. Поэтому я изменил код

Так фактическая ErrorStatus должна быть ReadOnly в первой части кода, а как SharpSnmpLib рассказать о ReadOnly

ReadOnly ошибки, как правило, не используются. Ошибка noSuchName равна , эквивалентной этой.

Также убедитесь, что ваш агент, содержащий OID 1.3.6.1.2.1.1.4, потому что он выглядит недействительным. Я думаю, это может быть 1.3.6.1.2.1.2.2.1.4