Как реализовать «агент SNMP» с помощью pysnmp версии 7.1Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как реализовать «агент SNMP» с помощью pysnmp версии 7.1

Сообщение Anonymous »

Моя главная цель — создать «SNMP-агент», который отвечает на запросы, используя специальный файл «MIB».

У меня возникли трудности с созданием «SNMP-агента» с использованием версии 7.1. библиотеки pysnmp.
вот мой код:

Код: Выделить всё

from pysnmp.carrier.asyncio.dgram import udp
from pysnmp.entity import engine, config
from pysnmp.entity.rfc3413 import cmdrsp, context
from pysnmp.smi import instrum, error
from pysnmp.proto.api import v2c

snmpEngine = engine.SnmpEngine()

config.addSocketTransport(
snmpEngine,
udp.DOMAIN_NAME,
udp.UdpTransport().open_server_mode(('127.0.0.1', 161))
)

config.add_v1_system(snmpEngine, 'my-area', 'public')

snmpContext = context.SnmpContext(snmpEngine)

class FileInstrumController(instrum.AbstractMibInstrumController):
def readVars(self, vars, acInfo=(None, None)):
for o,v in vars:
print(f"Reading oid: {o}")
if o == (1, 3, 6, 1, 4, 1, 50000, 1):  # Check for custom OID
return [(o, v2c.OctetString(b"Custom Data Example"))]
else:
raise error.SmiError

snmpContext.register_context_name(
v2c.OctetString(''),          # Context Name
FileInstrumController()                 # Management Instrumentation
)

cmdrsp.GetCommandResponder(snmpEngine, snmpContext)

snmpEngine.transport_dispatcher.job_started(1)

try:
snmpEngine.transport_dispatcher.run_dispatcher()
except:
snmpEngine.transport_dispatcher.close_dispatcher()
raise
И вот моя ошибка:

Код: Выделить всё

line 43, in register_context_name
raise error.PySnmpError("Duplicate contextName %s" % contextName)
pysnmp.error.PySnmpError: Duplicate contextName b''

Я не уверен, что делаю неправильно, также с радостью приму пример агента snmp.
Я пробовал использовать версию 7.1 библиотеки pysnmp, и я ожидал, что она будет вести себя не так, поскольку я видел другие базовые примеры, и все они следуют этому базовому шаблону

Подробнее здесь: https://stackoverflow.com/questions/793 ... ersion-7-1
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как получить данные SNMP с помощью pysnmp?
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Pysnmp.smi.error.SmiError: модуль X-MIB не загружен в <экземпляр pysnmp.smi.builder.MibBuilder в Y>
    Anonymous » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Pysnmp snmp получить управляемые объекты
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • PySNMP Получить переменную SNMP
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Проблема с интеграцией SNMP в приложение Flask с версией PYSNMP 7.1.16: «Пожалуйста, позвоните .Create (), чтобы построи
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

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