КАТЕГОРИИ: Архитектура-(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) |
Серверна сторона (агент)
Snmpset_kill.php <? session_start(); $n_process; switch($_POST['process_now']) { case 'Calc.exe':$n_process = '1'; $_SESSION['process'] = 'Calc.exe';break; … case 'MsPaint.exe':$n_process = '4'; $_SESSION['process'] = 'MsPaint.exe';break; default: echo 'Error'; }; snmp_set_quick_print(1); $c = snmpset("192.168.1.4", "pub1", ".1.3.6.1.4.1.2021.14.1.1.2.0", "s", '0'. $n_process); sleep(15); $c = snmpset("192.168.1.4", "pub1", ".1.3.6.1.4.1.2021.14.1.1.2.0", "s", '00'); ?> snmp_set_quick_print(1); // дозволяє отримувати тільки значення змінної з MIB, але без його типу. Після передачі методом POST змінної $_POST[‘process_now’], вона перевіряється і заноситься в змінну $n_process, після чого дані передаються функцією snmpset() і змінюється другий символ змінної ucdDemoPublicString на 0, що означає завершення процесу. Також слідує функция sleep(15), яка призупиняє роботу скрипту і чекає 15 секунд, щоб виконати наступний запит snmpset(), при якому змінна ucdDemoPublicString отримує значення String ‘00’, щоб уникнути повторного запуску процесів на віддаленій машині. Перший символ в змінній відповідає за запуск процесу, а другий відповідає за його завершення.
Рис.3. Запуск служби snmpd Для перевірки його роботи необхідно в консолі ввести команду Snmpget –v2c –c pub1 192.168.1.4.1.3.6.1.2.1.1.5.0
Рис.4. Запуск команди snmpget Серверна сторона управління процесами (веб-інтерфейс) Для того, щоб дати змогу запускати та завершати процеси на віддаленій машині, на ній потрібно запустити (крім агента snmpd) в браузері скрипт snmpd.php. Це необхідно для того, щоб Apache мав змогу запускати та завершати процеси, а також для візуального вигляду.
Рис.5. Запуск скрипту snmpd.php HTML: <input onclick="set_snmptrapd_on()" value="Запуск Snmptrapd" /> <input onclick="set_snmptrapd_off()" value="Зупинка Snmptrapd" />
JS: function set_snmptrapd_on () { interval_snmptrapd = setInterval(function(){ set_snmptrapd_on1(); }, 15000); }; Функція set_snmptrapd_on() створює інтервал з назвою interval_snmptrapd, який буде запускати іншу функцію – set_snmptrapd_on1() кожних 15 секунд.
function set_snmptrapd_on1 () { clearInterval(interval_snmptrapd); $.ajax({ type: 'GET', url: 'http://127.0.0.1:81/kursak/snmptrapd_on.php', data: '', success: function(data){ //alert(data); }});}
Функція set_snmptrapd_on1() спочатку знищує інтервал з назвою interval_snmptrapd для того, щоб не навантажувати сервер та уникнути зайвих запитів. Далі йде асинхронний запит методом GET на сторінку: 'http://127.0.0.1:81/kursak/snmptrapd_on.php' У разі успішного запиту браузер отримає статус завершення скрипту.
Дата добавления: 2015-08-31; Просмотров: 270; Нарушение авторских прав?; Мы поможем в написании вашей работы! |