Найти - Пользователи
Полная версия: easysnmp отправка hex строки.
Начало » Python для новичков » easysnmp отправка hex строки.
1
Oldman84
Добрый день!

Кто-нибудь сталкивался с тем, как отправить строку с типом данных HEX в easysnmp?
Все время выдает ошибку “easysnmp.exceptions.EasySNMPUndeterminedTypeError: a type could not be determine for the object”.

Пример строки для отправки:
snmp_set('1.3.6.1.4.1.9.9.46.1.4.2.1.6.1.10','000186aa','x',hostname='qwerty', community='qwerty', version=1)
py.user.next
https://easysnmp.readthedocs.io/en/latest/exceptions.html#easysnmp.EasySNMPUndeterminedTypeError
Raised when the type cannot be determined when setting the value of an OID.

Проверь OID. Попробуй какую-нибудь команду попроще с этим же идентификатором.
Oldman84
OID в норме.
Через консоль все работает. Не работает только через easysnmp.
py.user.next
Скинь сюда полный код как на питоне, так и консольные запросы-ответы.
Oldman84
py.user.next
Скинь сюда полный код как на питоне, так и консольные запросы-ответы.


Код:

#!/usr/bin/python3

from easysnmp import snmp_get, snmp_set, snmp_walk, snmp_set_multiple

oid_values = (
('1.3.6.1.4.1.9.9.46.1.4.2.1.11.1.10','4','i'),
('1.3.6.1.4.1.9.9.46.1.4.2.1.3.1.10', ‘1’, ‘i’),
('1.3.6.1.4.1.9.9.46.1.4.2.1.4.1.10','vlan10','s'),
('vtpVlanEditDot10Said.1.10','000186AA','x'),
('1.3.6.1.4.1.9.9.46.1.4.1.1.1.1','3','i'),
('1.3.6.1.4.1.9.9.46.1.4.1.1.1.1','4','i')
)

if snmp_set('1.3.6.1.4.1.9.9.46.1.4.1.1.1.1', ‘2’, ‘int’, hostname='qwerty', community='qwerty', version=1) == True:
print (“True”)

xxx = snmp_set_multiple(oid_values, hostname='qwerty', community='qwerty', version=1)
print (xxx)




из консоли

snmpset -c qwerty -v 1 qwerty 1.3.6.1.4.1.9.9.46.1.4.1.1.1.1 integer 2
CISCO-VTP-MIB::vtpVlanEditOperation.1 = INTEGER: copy(2)

snmpset -c qwerty -v 1 qwerty 1.3.6.1.4.1.9.9.46.1.4.2.1.11.1.10 i 4
CISCO-VTP-MIB::vtpVlanEditRowStatus.1.10 = INTEGER: createAndGo(4)

snmpset -c qwerty -v 1 qwerty 1.3.6.1.4.1.9.9.46.1.4.2.1.3.1.10 i 1
CISCO-VTP-MIB::vtpVlanEditType.1.10 = INTEGER: ethernet(1)

snmpset -c qwerty -v 1 qwerty 1.3.6.1.4.1.9.9.46.1.4.2.1.4.1.10 s “vlan10”
CISCO-VTP-MIB::vtpVlanEditName.1.10 = STRING: “vlan10”

snmpset -c qwerty -v 1 qwerty 1.3.6.1.4.1.9.9.46.1.4.2.1.6.1.10 x 000186AA
CISCO-VTP-MIB::vtpVlanEditDot10Said.1.10 = Hex-STRING: 00 01 86 AA

snmpset -c qwerty -v 1 qwerty 1.3.6.1.4.1.9.9.46.1.4.1.1.1.1 i 3
CISCO-VTP-MIB::vtpVlanEditOperation.1 = INTEGER: apply(3)

snmpset -c qwerty -v 1 qwerty 1.3.6.1.4.1.9.9.46.1.4.1.1.1.1 integer 4
CISCO-VTP-MIB::vtpVlanEditOperation.1 = INTEGER: release(4)
py.user.next
Попробуй вот это в код на питоне вставить
  
oid_values = (
    ('1.3.6.1.4.1.9.9.46.1.4.2.1.11.1.10','4','i'),
    ('1.3.6.1.4.1.9.9.46.1.4.2.1.3.1.10', '1', 'i'),
    ('1.3.6.1.4.1.9.9.46.1.4.2.1.4.1.10','vlan10','s'),
    ('1.3.6.1.4.1.9.9.46.1.4.2.1.6.1.10','000186AA','x'),
    ('1.3.6.1.4.1.9.9.46.1.4.1.1.1.1','3','i'),
    ('1.3.6.1.4.1.9.9.46.1.4.1.1.1.1','4','i')
)
Oldman84
py.user.next
Попробуй вот это в код на питоне вставить


Не работает. Та же самая ошибка.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB