Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 233; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.