КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Snmptrapd_kill.php
Snmptrapd_on.php <? snmp_set_quick_print(1); $rez_snmpget = snmpget("192.168.1.4", "pub1", ".1.3.6.1.4.1.2021.14.1.1.2.0"); switch ($rez_snmpget[1]) { case '1':exec('calc.exe');break; … case '4':exec('mspaint.exe');break; default: echo "Error run proccess";}; ?> Скрипт snmptrapd_on.php звертається до змінної ucdDemoPublicString через функцію snmpget і перевіряє другий символ (або перший символ, якщо не враховувати ‘ ‘, які записуються в змінну коли виконується команда snmpset. Після перевірки скрипт запускає необхідний процес. Інтервал для перевірки команди на завершення процесу: setInterval(function() { set_snmptrapd_kill(); }, 10000); Який запускає функцію set_snmptrapd_kill() з інтервалом в 10 секунд.
function set_snmptrapd_kill () { interval_snmptrapd = setInterval(function() { set_snmptrapd_on1(); }, 15000); $.ajax({ type: 'POST', url: 'http://localhost/kursak/snmptrapd_kill.php', data: 'n_kill=' + n_kill, success: function(data){ }});}
Функція set_snmptrapd_kill() в першу чергу знову створює інтервал (який був знищений в попередній функції), щоб відновити роботу перевірки скрипту на запуск певного процесу. Далі відбувається запит методом POST на сторінку snmptrapd_kill.php. <? switch ($_POST['n_kill']) { case '1':exec('taskkill /F /IM calc.exe');break; … case '4':exec('taskkill /F /IM mspaint.exe');break; default: echo "Error kill proccess";}; ?> Скрипт перевіряє змінну і виконує команду cmd taskkill з параметром /F, що означає примусове припинення роботи процесу, а також з параметром /IM – пошук процесу по імені.
3.2 Модуль виведення інформації про систему віддаленої ЕОМ
За допомогою цього модуля проходить вибірка даних системи з віддаленої машини. Такі параметри, як ім’я комп’ютера, операційна система, процесор та інше. <? session_start(); snmp_set_quick_print(1); $c = snmpget("192.168.1.2", "pub1", ".1.3.6.1.2.1.1.5.0"); // Назва ПК echo $c; echo '<br />'; $c = snmpget("192.168.1.2", "pub1", ".1.3.6.1.2.1.1.1.0"); //Сімейство процесора, Операційна система echo $c; echo '<br />'; $c = snmpget("192.168.1.2", "pub1", ".1.3.6.1.2.1.1.3.0"); //UpTime echo $c; echo '<br />'; $c = snmpwalk("192.168.1.2", "pub1", ".1.3.6.1.2.1.1"); echo $c[17]; //Виявлення модулю "The MIB module for managing TCP implementations" echo '<br />'; echo $c[18]; //Виявлення модулю "The MIB module for managing IP and ICMP implementations" echo '<br />'; echo $c[19]; //Виявлення модулю "The MIB module for managing UDP implementations" echo '<br />'; echo $c[20]; //Виявлення модулю "The MIB module for SNMPv2 entities" echo '<br />'; echo $c[21]; //Виявлення модулю "View-based Access Control Model for SNMP." echo '<br />'; $c = snmpget("192.168.1.2", "pub1", ".1.3.6.1.2.1.4.3.0"); echo '<br />'; echo '<br />'; echo '<p>Число отриманих пакетів IP: '. $c. '</p>'; $c = snmpget("192.168.1.2", "pub1", ".1.3.6.1.2.1.4.10.0"); echo '<br />'; echo '<br />'; echo '<p>Число відправлених пакетів IP: '. $c. '</p>'; $c = snmpget("192.168.1.2", "pub1", ".1.3.6.1.2.1.4.12.0"); echo '<br />'; $c = snmpget("192.168.1.2", "pub1", ".1.3.6.1.2.1.6.8.0"); echo '<br />'; echo '<br />'; echo $c; ?> Snmpwalk проходить через все дерево по заданому OID та виводить інформацію у вигляді масиву. Необхідне значення ми можемо взяти, використавши $c[17]…$c[20] – визначення модулів, які підтримує сервер (агент).
3.3 Модуль формування графіків MRTG
Усі графіки формуються виключно на стороні клієнта, а створює їх браузер за допомогою JavaScript. В даній роботі було використано бібліотеку Moris.js. Яка дозволяє швидко і просто сформувати необхідний графік з вихідних даних. Було використано два типи графіків – Bar і Line для відображення певних параметрів мережі, наприклад кількість прийнятих пакетів IP за день. <script> Morris.Bar({ element: 'line-example', ymax: [1000000], data: [ { y: '192.168.1.1', a: 142584}, { y: '192.168.1.2', a: 323832 }, { y: '192.168.1.3', a: 455711 }, { y: '192.168.1.4', a: 653646 }, { y: '192.168.1.5', a: 933316 }, { y: '192.168.1.6', a: 716421 }, { y: '192.168.1.7', a: 564562 } ], xkey: 'y', ykeys: ['a'], labels: ['Число TCP-з\'єднань Active-Open'] }); </script>
<script> Morris.Line({ element: 'line-example', ymax: [5000], data: [ { y: '2014-02-21', a: 127}, { y: '2014-02-22', a: 461 }, { y: '2014-02-23', a: 1084 }, { y: '2014-02-24', a: 2539 }, { y: '2014-02-25', a: 912 }, { y: '2014-02-26', a: 1315 }, { y: '2014-02-27', a: 3177 } ], xkey: 'y', ykeys: ['a'], labels: ['Число невдалих TCP-з\'єднань'] }); </script>
Дані передаються із змінних MIB, надходять до скрипту php і тільки тоді JavaScript звертається до них і отримує інформацію по графікам. Після цього відбувається їх формування. Перевагою в тому, що графіки формуються на стороні клієнта є те, що ви на навантажуєте сервер додатковими скриптами, а даєте змогу пере направити навантаження на браузер клієнта, таким чином покращується швидкодія сервера. Дані, які стосуються мереж можна не тільки використовувати у графіках, а й записати їх в базу даних для подальшої роботи над ними.
4. Тестування та результати роботи утиліти
Тестування проводилось на декількох машинах та роутері D-Link DSL-2500u. Інформацію про систему, UpTime, сімейство процесора, операційну систему та інше можна побачити на рис.6. Рис.6. Інформація про віддалену систему
Інформація про MIB модулі дозволяє зрозуміти з якими деревами MIB можна працювати на віддаленій машині і які вона підтримує. Якщо Notebook підтримує всі модулі, то роутер D-Link DSL-2500u підтримує тільки TCP. Тому з роутера ми не можемо взяти таку інформацію, як кількість пакетів прийнятих чи відправлених IP. Підтримка модулів MIB залежить від виробника пристрою. В пристрої Cisco такої проблема немає, більше того там ви можете отримати набагато більше потрібної вам інформації. Налаштування також проходить таким методом, це дозволяє швидко і віддалено налаштувати певний роутер чи інший пристрій під ваші потреби або проаналізувати його дані і його роботу.
Рис.7. Графік отриманих пакетів IP кожної машини в мережі
Рис.8. Графік відправлених пакетів IP кожної машини в мережі
Рис.9. Число TCP-з’єднань Passive Open (із стану LISTEN) Рис. 10. Число TCP-з’єднань Active Open Рис. 11. Число невдалих TCP-з’єднань за тиждень Висновки В даній курсовій роботі я розробив утиліту для моніторингу, аналізу та управління мережами, а саме мережевими вузлами. Утиліта взаємодіє з протоколом SNMP для отримання необхідної інформації про віддалену машину. Виконавши дану курсову роботу можна зробити висновок, що ця утиліта полегшить віддалене налаштування мережевих вузлів, а також це досить зручний засіб для моніторингу мережі, який дозволяє формувати графіки MRTG.
Список використаної літератури
Дата добавления: 2015-08-31; Просмотров: 245; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |