У меня проблемы с параметром запроса SNMP в скрипте Python. Запрос SNMP принимает OID в качестве параметра. OID, который я здесь использую, написан в приведенном ниже коде, и, если он используется отдельно в запросе, он должен возвращать список состояний для интерфейсов IP-адресов, на которые я запрашиваю.
Я хочу использовать этот OID с добавленной к нему переменной, чтобы получить очень точную информацию (если я использую только OID, я получу только список вещей, которые только усложнят мою проблему).
Запрос выглядит так:
oid = "1.3.6.1.4.1.2011.5.25.119.1.1.3.1.2."
variable = "84.79.84.79"
query = session.get(oid + variable)
Здесь этот запрос вернет поврежденный объект SNMPObject, так как в процессе настройки устройства, к которому я обращаюсь, добавляется еще один номер, по какой-то причине нам здесь все равно, между этими двумя элементами параметра ,
Ниже приведен снимок экрана, показывающий некоторые примеры запроса SNMP, который принимает в качестве параметра только вышеуказанный OID, без добавленной переменной, на которой вы можете видеть, что моя переменная меняется, как и выделенный дополнительный номер:
В основном здесь я ищу ответ, но, к сожалению, я не могу предсказать для каждого IP-адреса, который я запрашиваю, каким будет это «случайное» число.
Я мог бы использовать цикл, который пробует 20 или 50 запросов и сохраняет только ответ единственного, который работал бы, но это уродливо. Что было бы лучше - это какая-то встроенная функция или библиотека, которая просто сказала бы на запрос:
"SNMP-запрос для этого OID, с любым целым числом, добавленным к нему , и с моей переменной, добавленной к этому".
Я определенно не хочу генерировать случайное int, поскольку оно уже сгенерировано в конфигурации запрашиваемого устройства, я просто хочу избежать зацикливания, чтобы получить правильный ответ на точный запрос.
Надеюсь, это было достаточно ясно.