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

1.1Основи роботи з PySnmp

Після того як ви завантажили і встановили PySNMP бібліотеку на Linux/Windows/MacOS систему, ви повинні бути в змозі вирішити основне завданням SNMP прямо з вашого Python – отримати деякі дані з віддаленого SNMP Agent. Код виконує SNMP GET операції sysDescr.0 об'єкта в загальнодоступній SNMP-агент:

from pysnmp.entity.rfc3413.oneliner import cmdgen

cmdGen = cmdgen.CommandGenerator()

errorIndication, errorStatus, errorIndex, varBinds = cmdGen.getCmd(

cmdgen.CommunityData('demopublic'),

cmdgen.UdpTransportTarget(('test.net-snmp.org', 161)),

cmdgen.MibVariable('SNMPv2-MIB', 'sysDescr', 0),

lookupNames=True, lookupValues=True

)

# Check for errors and print out results

if errorIndication:

print(errorIndication)

elif errorStatus:

print(errorStatus)

else:

for name, val in varBinds:

print('%s = %s' % (name.prettyPrint(), val.prettyPrint()))

Якщо все працює як треба, ви отримаєте дану відповідь на вашій консолі:

...

SNMPv2-MIB :: sysDescr. "0" = test.net-snmp.org

>>>

Щоб відправити повідомлення тривіальної пастки для вашого уявного SNMP-менеджера localhost, просто виріжте та вставте наступний код:

from pysnmp.entity.rfc3413.oneliner import ntforg

from pysnmp.proto import rfc1902

ntfOrg = ntforg.NotificationOriginator()

ntfOrg.sendNotification(

ntforg.CommunityData('public'),

ntforg.UdpTransportTarget(('localhost', 162)),

'trap',

ntforg.MibVariable('SNMPv2-MIB', 'coldStart'),

('1.3.6.1.2.1.1.1.0', rfc1902.OctetString('my system'))

1.2Керування архітектурою snmp

Модель управління SNMP включає в себе три окремі частини – агент, менеджер і проксі для комутації один з одним по мережі.

Агент – в основному програмне забезпечення, яке працює десь в мережевому пристрої та має наступні властивості:

  • SNMP підтримка протоколу

  • Доступ до керованих внутрішніх пристроїв

Остання особливість є джерелом інформації для управління агента.

Сучасний стандарт SNMP запропонував функціональне розщеплення агента на дві частини. Такі агенти можуть обробляти SNMP для локальних процесів і називається субагент, які взаємодіють з керованим внутрішнім пристроєм. Зв'язок між Master агентом і його субагентом здійснюється з використанням спрощеної версії оригінального SNMP протокола, відомий як AgentX, який призначений для роботи тільки в межах одного хоста.

Менеджер, як правило, додаток, що використовуються людиною (або демоном) для виконання різних завдань управління мережами.

Іноді, агенти та менеджери можуть працювати як єдине ціле, яке називається проксі-сервером. Проксі часто можна побачити на рівні додатків міжмережевого екрану або він може служити в якості перекладача SNMP протоколу.SNMP підхід є представленням кожного компонента пристрою в якості імені об'єкта, схожі на іменовані змінні як в мовах програмування.

Для представлення групи схожих компонентів пристрою, такі як мережеві інтерфейси, керовані об'єкти можуть бути організовані в так звані концептуальні таблиці.

Диспетчер коммтується з агентом, посилаючи йому повідомлення декількох типів. Тип повідомлення передбачає певні дії,які повинні бути прийняті. Наприклад, GET інструктує агента повідомлення доповісти значення керованих об'єктів, імена яких вказані в повідомленні.

Це також знак для агента повідомити менеджера,що відбулася подія. Це робиться за допомогою так званих Trap повідомленнь. 

Для іменування керованих об'єктів, SNMP використовує поняття ідентифікатор об'єкта . Як приклад керованого об'єкта, iso.org.dod.internet.mgmt.mib-2.system.sysName.0 являє ім'я пристрою, на якому запущений агент.

Всякий раз, коли SNMP з’єднується один з одним, вони відносяться до керованих об'єктів, чия семантика (і тип значення) повинні бути заздалегідь відомі обом сторонам. SNMP-агент може розглядатися в якості основного джерела інформації про Managed Objects, так як вони здійснюються агентом. У цій моделі, менеджер повинен мати карту керованих об'єктів, що містяться всередині кожного агента.

SNMP стандарт містить безліч мовних конструкцій ASN.1 (таких, як ASN.1 підтипів і макросів), яка називається структура управлінської інформації (Management Information Base ). Колекції відповідних керованих об'єктів описується в термінах SMI, які включають Management Information Base ( MIB) модулі.

Зазвичай використовуються керовані об'єкти, вони утворюють ядро ​​бази MIB, які стають частиною стандартного протоколу SNMP. Решта MIB зазвичай створюються постачальниками.

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