- •Засоби аналізу та управління мережами методичні вказівки
- •1.1Основи роботи з PySnmp
- •1.2Керування архітектурою snmp
- •1.2.1PySnmp архітектура
- •1.3Стандартні snmp додатки (Синхронні додатки)
- •1.3.1Генератор синхронних команд
- •1.3.2Синхронний оригінатор повідомлень
- •1.4Стандартні snmp додатки (Асинхронні додатки)
- •1.4.1Асинхронний генератор команд
- •1.4.2Асинхронний оригінатор повідомлення
- •1.4.3Конфігурація безпеки
- •1.4.4Конфігурація транспортування
- •1.5.1Managed Objects імена і значення
- •1.5.2Managed Objects значення
- •1.6.1Модель даних для керованих об'єктів
- •1.7Приклад PySnmp скриптів
- •1.8NativeApi для стандартних додатків snmPv3
- •1.9Низький рівень api для операцій протоколу snmPv1/v2c
- •1.10Подальший розвиток
- •2.1Встановлення
- •2.2Використання
- •2.3Структура
- •3.1Основні особливості модуля:
- •3.2Елементи модуля
- •3.3Переваги і недоліки
- •4.1Особливості
- •4.2Опис “NetSnmp” модуля
- •4.3Використання Net-snmp і iPython
- •4.3.1Встановлення та налаштування Net-snmp
- •4.3.2Написання коду
- •4.4Переваги і недоліки
- •Засоби аналізу та управління мережами методичні вказівки
1.5.1Managed Objects імена і значення
На рівні протоколу, керований екземпляр об'єкта представляється як пара імені і значення елементів під загальною назвою прив'язки змінної . У PySNMP Oneliner API, керований екземпляр об'єкта представленийдвокомпонентною послідовністю з двох об'єктів – один представляє керований Ім'я об'єкта або керований Ім'я примірника об'єкта, а інша –керована вага примірника об'єкта. Типи цих об'єктів можна змінювати.
Managed Objects імена
Керований об'єкт або керовані Ім'я примірника об'єкти екземпляру класу ObjectName, який є похідним від pyasn1 ObjectIdentifier. У більшості випадків, PySNMP Oneliner API автоматично створить екземпляр ObjectName класу від свого початкового значення, яке може бути:
простий рядок розділених крапкою цифр, наприклад, '1 .3.6.1.2.1.1.1.0 "
кортеж, наприклад, цілі числа (1, 3, 6, 1, 2, 1, 1, 1, 0)
Примірниккласу ObjectIdentifier або його похідні, такі як ObjectName
Клас MibVariable( varName )
Створення об'єкта, що представляє різну кількость керованих об'єктів. Як мінімум об'єктMibVariable буде містити тільки ідентифікатор об'єкта, який ідентифікує конкретний керований об'єкт. Однак більш докладна інформація про керовані об'єкти можебути зібрана PySNMP в ході SNMP обробки запиту. Вся додаткова інформація приходить через пошук в MIB, де керованих об'єктів не вказано.
Обов'язковий аргумент varName повинен мати при собі дійсний ініціалізатор виду об'єктівObjectIdentifier.
Клас MibVariable( mibName, symName, *indices )
Створення об'єкта ,який потенційно представляє всю інформацію MIB на конкретних керованих об'єктів. До моменту створення екземпляра він ніякої додаткової інформації не містить, але на більш пізніх етапах обробки запиту SNMP, PySNMP буде намагатися шукати додаткову інформацію у MIB імені mibName для об'єкта зареєстрованого під назвою symName .
Якщо потрібний MIB або символ не був знайдений, виникає PySnmpError виняток.
Обов'язкові аргументи mibName і symName посилаються на назви, зокрема керовані об'єкти, зазначеного в MIB (наприклад, 'IF-MIB "і" ifTable' відповідно). Обидва параметра мать тип Pythonstrings.
Додаткова послідовність indices–семантика залежить від типу об'єкта MIB,на які посилаються mibName і symName параметри.
Для MibTableColumn об'єктів індекси являють собою послідовність Концептуальні ID примірник таблиці в зрозумілій людині формі (наприклад, "127.0.0.1", індексованих елементів IP-MIB :: ipAdEntAddr колонки)
Для MibScalar об'єктів індекси інтерпретується як суб-ідентифікатор об'єкта
Методи MibVariable об'єктів:
getMibSymbol ()
Повертає послідовність mibName , symName і indices
getOid ()
Повертає кероване ім'я об'єкта у формі об'єкта ObjectIdentifier .
getMibNode ()
Повертає MIB інформацію у вигляді керованих об'єктів
isFullyResolved ()
Повертає True , якщо MIB пошук для початкової ініціалізації був успішним і інформація MIB доступна.
1.5.2Managed Objects значення
Керований примірник об'єкта є екземпляром деякого класу pyasn1 або його SNMP похідних. В останньому випадку відображає SNMP підтипу ASN.1.
Список керованих об'єктів классу Managed Object Instance Value.
Клас Integer ( value )
Створити SMIv2 Integer об'єкта. Значення параметра повинно бути ціле число.
Клас Integer( value )
Створити SMIv2 Integer32 об'єкт. Цей об'єкт схожий на екземпляр класу Integer .
Клас OctetIdentifier ( value )
Створити SMIv2 OctetIdentifier об'єкт. Значення параметра може бути кортеж цілих суб-ідентифікатори або у вигляді рядка, як ".1.3.6.1.3.1". SMIv2 OctetString клас є похідним від pyasn1 OctetIdentifier .
Клас OctetString ( value )
Створити SMIv2 OctetString об'єкт. Значення параметра повинно бути рядком. Примірники цього класу імітує основні властивості рядка Python. SMIv2 OctetString клас є похідним від pyasn1 OctetString .
Клас IpAddress ( value )
Створити SMIv2 IpAddress об'єкт. Значення параметра повинно бути IP-адреса виражений в чотирьох точковому вигляді (наприклад, "127.0.0.1"). SMIv2 IpAddress класс є похідним від pyasn1 OctetString .
Клас Counter32 ( value )
Створити SMIv2 Counter32 об'єкт. Крім різних обмежень значення, цей об'єкт схожий на екземпляр класу Integer .
Клас Gauge32 ( value )
Створити SMIv2 Gauge32 об'єкт. Крім різних обмежень значення, цей об'єкт схожий на екземпляр класу Integer .
Клас Unsigned32 ( value )
Створити SMIv2 Unsigned32 об'єкт. Крім різних обмежень значення, цей об'єкт схожий на екземпляр класу Integer .
Клас TimeTicks ( value )
Створити SMIv2 TimeTicks об'єкт. Крім різних обмежень значення, цей об'єкт схожий на екземпляр класу Integer .
Клас Opaque( value )
Створити SMIv2 Opaque об'єкт. Цей об'єкт схожий наекземпляр класу OctetString .
Клас Counter64 ( value )
Створити SMIv2 Counter64 об'єкт. Крім різних обмежень значення, цей об'єкт схожий на екземпляр класу Integer .
Клас Bits( value )
Створити SMIv2 Bits об'єкт. Значення параметра повинна бути послідовність імен бітів. Bits( value ) клас є похідним від pyasn1 OctetString .
Всі вище перелічені типи використовуються безпосередньо по протоколу SNMP і можуть бути обмінені між користувальницьким додатком і PySNMP в ході операції SNMP двигуна через PySNMP API.
1.6MIB services
