SNMP капани, и това, което ядем, Макс Иванов (почти винаги) в мрежата

В тази статия искам да подчертая въпроса за работата с SNMP капани. По това време, когато започнах да се справят с тази тема, с добро познаване на принципите на работа на протокола SNMP, бях чудесно объркан отчитане на резултатите от документацията по този въпрос, всички тези, на OID, която трябва да бъде записано като параметри за snmptrap екип. Търсенето на последователна информация в интернет не успя. Впечатлението, че аз бях само един тъп сред тези, които мисля, че е елементарно.







В моята работа аз използвам NetSNMP пакет от отворен код и затова е, че примерите са от този пакет.

Няма да се спирам върху описанието на дървото SNMP (мисля, че това е наистина тривиално) и започнете с прословутия OID. OID е проста. OID, това ID на обекта, на уникални стойности идентификатор обект в дървото SNMP. OID може да се запише в няколко форми.

Тъй като мнемоничен име уникалността рамките всичко възможно MIB няма гаранция, и не винаги е веднага да си спомня какво се отнася наименованието (напр prTable), там е следната, по мое мнение най-приятната форма на писане: UCD-SNMP-MIB :: prTable. В този формат, с изключение на името е посочено MIB име (може да се каже, че именно пространство)

Единственото ограничение за използване на MIB е, че при използването на SNMP софтуер от различни производители и различни желязо трябва да сингъл "разбиране" на тези магически трансформации. Ето защо, на интернет страниците на производителите на оборудване са успели файлове MIB дефиниция за конкретни устройства.

С въвеждането на OID разбрани. Сега, за по стълбите. Само уточни, че всички от причините, посочени по-долу се отнася за SNMP на версията 2в.

Протоколът SNMP има капани (капани), е да информира (информира). Те се различават по това, че капаните са изпратени до управителя на гарата, без гаранции за доставка, както и със сигурност ще бъдат доставени Информирайте. Е, независимо дали са доставени, но след това на изпращача ще знаят за това. За простота, аз и двете повиквания стълба. Така че ние ще proschei.

Каква информация се изпраща на ръководителя на стълбата (INFO)? И изпрати следната информация:

  • Uptime устройство във формата на двойки: стандарт OID непрекъсната работа, стойността
  • В OID, в която се казва, че се е случило за събитието. Файловете MIB имат специално описание на редица стандартни събития, като например започване или спиране на агента. Също така, ние можем да дефинирате собствени капан OIDs но и описва собствената си MIB файл.
  • Всеки чифт OID и неговата стойност (и все още е третото поле "тип на стойност", но това ни е да се отстрани), които могат да предоставят допълнителна информация. Например, когато ключ изпраща капан "Пуснете връзка", допълнително поле ще съдържа информация OID интерфейс, което се случи беда - IF-MIB: ifIndex.2.






Сега, нашата история е разделена на зони. Първото направление: "Как да изпратите SNMP капан дръжки командния ред." Втората посока "Как можем да направим агент SNMP за изпращане на капани, когато нещо се обърка."

изпращане на оръжие

Да кажем, че искате да изпратите съобщение на управителя, че демонът на нетната-snmpd е започнал и да предостави допълнителна информация за размера на суап файла и всичко се справя. Е, да ни изпратите такъв каприз. Да. напишете:

snmpinform -C обществен -v 2в host.sample.com "" ucdavis.ucdTraps.ucdStart memTotalSwap аз 1024000

  • "" - вземете непрекъсната работа по подразбиране
  • ucdavis.ucdTraps.ucdStart - изпратете този капан
  • memTotalSwap аз 1024000 - добавяне на натоварването, равна на една OID memTotalSwap 1024000

И ако целта домакин работи демон snmptrapd. след това влезте посланието на идване на стълбата.

Въпреки това, понякога искате една страна, например за изпращане на капан, в който извънземни tyryat SCSI хард дискове директно от кошницата или, че сървърът се излива водата, както любезно уведомен домашно сензор, който тежи на COM порт. Ясно е в стандартния MIB за тези страни, ситуацията не се споменава. Поради това е възможно да се използва произволно tsifirek последователност да покаже ново събитие в света. Например:

snmptrap -C обществен -v 2в 127.0.0.1 "" 1.3.3.3.3.3.3.3 1.2.2.2.2.2.2 и "извънземни отвори вратата"

И това е характерно, че ще работи. Дневникът ще има такива bredyatinka:

22 ное 14:08:24 snmptrapd [465]: Localhost [127.0.0.1]: Trap. DISMAN събитие-MIB :: sysUpTimeInstance = Timeticks: (736247) 2: 02: 42.47, SNMPv2-MIB :: snmpTrapOID.0 = OID: SNMPv2-SMI :: org.3.3.3.3.3.3, iso.2.2.2.2. 2.2 = STRING: "Aliens отвори вратата"

В същото време, по стръмните администраторите трябва да направи правилното нещо, самостоятелна документиране, в съответствие с IETF и други заинтересовани организации. Ето защо, ние ще опишем нашата нова OID в собствен MIB файл.

Тук enterptise определя с броя 10,050 и го daesya aliensattack име. След това въведете двете направления: по един за стълби (началото и края на атака), а другият за повече информация OID (атака през вратата, или това не е чужденци).

Честно казано, във формата, MIB Разбирам малко файл. Ето защо, след като внимателно изучава MIB файлове на стандартната нетна-SNMP, аз направих този пример, който работи, но кристално чист във всичките му ключови думи стигнах.

Следваща! Ние събрахме файл с име ALLIENSATTACK-MIB.txt в някакъв каталог на близо и не забравяйте, че от сега нататък всички програми, свързани с SNMP (snmpd, snmptrapd, snmpinform) ние провежда с подкрепата на MIB. Т.е., се добавят опции за командния ред

-М стоките / s_faylom -m + ALLIENSATTACK-MIB.

А "+" пред името на MIB (а не файла с MIB, а именно името MIB), означава, че MIB ще бъдат добавени към първоначално зареждане по подразбиране.

изпрати автоматично

Метод # 2. Напишете скрипт, който проверява системните настройки и изпраща капан за управление на станцията. Автор на черупка, Perl, или в който и да е познат език.

Метод # 1. Най-интересно. В 5-та версия на нетната-SNMP poyavilast подкрепа модул DISMAN-EVENT-MIB изкупуване може да изпраща съобщения, при определени условия. Но това е друга история.