Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
zaum-kurs-2013.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
655 Кб
Скачать
☆

4.2Опис “NetSnmp” модуля

Надає повний набір функцій, для всіх версій SNMP (SNMPv3, SNMPv2c,

SNMPv1) клієнтів API. 'NetSNMP' модуль покладаєтья на

Net-SNMP інструментарій бібліотеки.

Підтримувані платформи:

Linux 2.x

Інші UNIX / POSIX варіанти (неперевірені)

MSWindows (неперевірені)

Опис роботи:

Основні операції SNMP протоколу, передбачених цим

Модулем здійснюютьсячерез об'єктно-орієнтований інтерфейс для модульності і простоти  використання.

Основний клас netsnmp.Session який інкапсулює стійкі аспектіи зв'язку між керівництвом додатків і керованим агентом. Цей клас включає 'GET',   'GetNext', 'GetBulk', 'SET' та інші виклики методів.

Опис поля, які можуть бути визначені при створенні екземпляра

netsnmp.Session виконується наступним чином:

netsnmp.Session (<tag> = <value>, ...)

DestHos t– за умовчанням "локальний", імя комп'ютера або IPAddr з SNMP агента

Version–за умовчанням '3 ', [1, 2 (екв-2с), 3]

RemotePort – за умовчанням '161 ', дають можливість віддаленого порту UDP для перевизначення

Timeout – за замовчуванням '500000 ', мікро-секунд між спробами

Retries – за умовчанням '3 ', спроби до відмови

RetryNoSuch – за умовчанням 0 ", якщо включена NoSuch помилки в 'GET' блоках PDU,то UNDEF будуть повернуті для всіх varbinds NoSuch, коли встановленийв '0 'ця функція відключена і отримання запитів не працюватиме при будь-яких помилках NoSuch (стосується тільки v1)

UseLongNames – встановлено в не нульове має <tags> для ’GetNext’ методу

UseSprintValue – встановлено в не нульове значення, повертає значення

для 'Get' й 'GetNext' методів відформатований за бібліотеками

sprint_value функції. Це призводить до певних типів даних,які

повертаються в неканонічних форматах

UseEnums – встановлено в ненульове, повертає цілі значення, які конвертуються в перерахуванні ідентифікаторів якщо це можливо

Ці значення також будуть прийнятним, коли подається «Набір» операцій

UseNumeric – встановлено в ненульове значення,повертає <tags>,який повертається з 'GET' запиту

Установка UseLongNames значення для сесії рекомендується.

BestGuess – ця установка контролює як парситься<tags>.

ErrorStr – тільки для читання, проводить до повідомлення про помилку.

ErrorNum – тільки для читання, зберігає snmp_err чи статус останнього запиту

ErrorInd – тільки для читання, проводить при необхідності snmp_err_index

SNMPv1/SNMPv2c варіанти:

Режим доступу – за умовчанням "public",

SNMPv3 Опції:

SecName – за умовчанням 'initial', ім'я безпеки (v3)

SecLevel – за умовчанням 'noAuthNoPriv', рівень безпеки [noAuthNoPriv,

authNoPriv, AuthPriv] (v3)

ContextEngineId – <SecEngineId> замовчуванням, контекст engineID, буде

досліджуватись якщо не він не ввійде в комплект (v3)

Context – за умовчанням'', ім'я контексту (v3)

SNMPv3 з TLS або DTLS варіантами:

OurIdentity – ім'я файлу для місцевого X.509 сертифіката для нашої ідентичності.

Запустити NET-SNMP-CERT для створення і управління сертифікатами.

TheirIdentity – ім'я файлу для місцевого X.509 сертифіката для використання їх ідентичності.

TrustCert – довірений сертифікат, який використовується для перевірки

сертифікатів. Як правило CA сертифікат.

TheirHostname – ім'я хоста.Або "TheirIdentity"або довірений сертифікат плюс ім'я хоста, необхіднодля перевірки автентичності сервера.

SNMPv3 з USM опції безпеки:

SecEngineId – <none> замовчуванням, безпека engineID,

AuthProto – за умовчанням 'MD5', протокол аутентифікації [MD5, SHA] (v3)

AuthPass – <none> замовчуванням, аутентифікація пароля

PrivProto – за умовчанням "DES", протокол конфіденційності [DES] (v3)

PrivPass – за умовчанням <none>, недоторканність фраз (v3)

Приватні поля:

sess_ptr – внутрішнє поле, використовується для кешування структури створеної сесії

Mетоди:

get (<netsnmp.VarList Object>)

повинні бути представлені SNMP GET netsnmp.VarList об'єкти,

повертає кортеж значень для кожного VarBind в списку

GetNext (<netsnmp.VarList Object>)

повинні бути забезпечені SNMP GETNEXT, netsnmp.VarList об'єкти.

Повертає отримане значення, список змінних переданих в якості аргументів

оновлюються, щоб отримати список наступного лексикографічного

VarBind об'єкта.

Повертає кортеж значень для кожногоVarBind в списку.

set (<netsnmp.VarListObject>)

Повинні бути забезпечені SNMPSET, об'єкт netsnmp.VarList

Значення в усіх Varbinds повинні бути в канонічному форматі (тобто добре відомі формат), щоб забезпечити однозначний переклад SNMPMIB значеннь даних.

Повертає true в разі успіху або None у разі помилки.

GetBulk (<non-repeaters>, <max-repeaters>, <netsnmp.VarList Object>)

Повинні бути забезпечені SNMP GETBULK, netsnmp.VarList об'єкти

наступного примірник вибирається для перших

N Varbinds в списку, як це визначено <non-repeaters>.

Для решти Varbinds, наступні M лексик витягуються з решти Varbinds, де M<max-repeaters>.

walk (<netsnmp.VarListObject>)

Виконує декілька запитів GETNEXT для того, щоб повернути кортеж значень витягнутих з MIB

Прийнятні формати змінних:

netsnmp.VarList: – являє собою список VarBind об'єктsd, щоб отримати або встановити.

приймає аргументи і невизначену кількість Varbinds,або кортежів, які будуть перетворені в Varbinds.

netsnmp.Varbind: – являє собою єдиний об'єкт MIB для отримання або установки реалізовані як Python [<tag>, <iid>, <val>, <type>].

<tag> – однієї з наступних форм:

1) лист ідентифікатор (наприклад, «sysDescr ') має бути унікальний для практичних цілей

2) повний ідентифікатор (наприклад, '. Iso.org.dod.internet.mgmt.mib-2.system.sysDescr')

3) повний, десятковий, числовий OID

(Наприклад, ".1.3.6.1.2.1.1.1)

<iid> – десятковий, ідентифікатор екземпляра. Для скалярних об'єктів MIB використовувати '0 '

<val> – SNMP значення даних, отриманих з, або створюваних

до MIB агентів. Формат набору для операцій <val> повинен бути канонічним для забезпечення однозначного перекладу.

Канонічні форми:

OBJECTID => десятковий (наприклад, .1.3.6.1.2.1.1.1)

OCTETSTR => скалярні октети,

INTEGER=> десяткове цілечисло(або перерахування),

NETADDR => десяткове,

IPADDR => десяткове,

COUNTER=> десяткове ціле число без знаку,

COUNTER64 => десяткове ціле число без знаку,

GAUGE, => десяткове ціле число без знаку,

UINTEGER => десяткове ціле число без знаку,

TICKS, => десяткове ціле число без знаку,

OPAQUE =>скалярні октети,

NULL => скалярне що не містять нічого,

<type> – SNMP типу даних ,це полевикористовується для ‘Get’ й ‘GetNext’ операцій. Удеяких випадках програмісту потрібно заповнити це полепри переході до 'set'операції. Цеполя не обовязково надавати, коли атрибут<tag> вже описаний вMIB. Для ‘set’, якщо числове OID використовується і об'єкт не знаходиться в MIB,<type> поле повинно подаватися

‘NetSNMP’ Python змінні і функції:

netsnmp.verbose – за умовчанням 0 ",контролює попередження / інформування при виході themodule

0 => вихід,

1 => дозволяє попередження / інформування

$ SNMP :: налагодження - за замовчуванням 0 ", контролює вихідний рівень налагодження

в SNMP модуля і libsnmp

1 => дозволяє SNMP ::verbose

2 => 1 рівеньплюсsnmp_set_do_debugging,

3 => 2рівеньплюс snmp_set_dump_packet

$ SNMP :: dump_packet - за умовчанням 0 ", встановіть [без] нуля для самостійного встановлення

snmp_set_dump_packet ()

Експортовані функції ‘NetSNMP’ пакету :

snmpget (<Varbind/VarList>, <session args>)

Бере аргументи з netsnmp.Session з відповідного методу netsnmp.Session. Повертає кортеж зVarBind значень.

snmpgetnext (<Varbind/VarList>, <session args>)

Бере аргументи з netsnmp.Session з відповідного методу netsnmp.Session. Повертає кортеж зVarBind значення

snmpgetbulk (nonrepeaters, maxrepetitions, <VarList>, <session args>)

Бере аргументи з netsnmp.з відповідного методу netsnmp.Session. Повертає кортеж з VarBind значення, і оновленими VarList

snmpset (<Varbind/VarList>, <session args>)

Бере аргументи з netsnmp.Session з відповідного методу netsnmp.Session. Повертає True в разі успіху, в іншому випадку False.

snmpwalk (<Varbind/VarList>, <session args>))

Бере аргументи з netsnmp.Session з відповідного VarBind або VarList, з яких операції 'walk' почнеться. Повертає кортеж значень, витягнутих з MIB

Переданий VarList буде оновлюватися, щоб утримувати повний набір VarBinds створений за результатами операції 'walk'.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]