РАЗРАБОТКА ПРОГРАММЫ УДАЛЕННОГО УПРАВЛЕНИЯ

advertisement
SCIENCE TIME
РАЗРАБОТКА ПРОГРАММЫ УДАЛЕННОГО
УПРАВЛЕНИЯ КОМПЬЮТЕРОМ НА ОСНОВЕ
ПРОТОКОЛА TELNET
Белов Илья Владимирович,
(PDLOEHORYR\#PDLOUX
Винокуров Анатолий Станиславович,
(PDLODQDWROLMBYV#PDLOUX
Баженов Руслан Иванович
(PDLOULED]KHQRY#\DQGH[UX,
Приамурский государственный
университет имени Шолом-Алейхема,
г. Биробиджан
Аннотация ɉроанализирована ситуация, в которой существует
необходимость удалённого управления компьютером и приведен пример
решения данной проблемы. В программном решении разработан собственный
прикладной протокол на основе telnet.
Ключевые слова: удаленное управление компьютером, протокол,
серверная часть приложения, клиентская часть приложения, протокол telnet
Важную роль в администрировании компьютеров играет удаленное
управление. Количество компьютеров большой организации может достигать
нескольких сотен рабочих станций, которые могут располагаться на большом
расстоянии друг от друга. Поддержание работоспособности такой системы
является важной задачей для отдела автоматизации. В то же время, чем больше
количество компьютеров в сети и чем больше расстояние между ними, тем
больше затраты на системное администрирование.
Целью исследования является, изучение возможностей удалённого
управления компьютером на примере простой программы с созданной нами на
языке Delphi, работающей по протоколу Telnet и собственным прикладным
протоколом. Необходимо понять является ли такое решение альтернативой уже
существующим программам удалённого управления.
Исследованиями в данной области многие российские и зарубежные
ученые. А. Богомолов [1] рассмотрел вопросы удаленного подключения, как к
графической, так и к командной консоли управления сервером Exchange 2010. В
своей статье И.А. Бутников, П.П. Степанов, Г.А. Фофанов [2] описывают
39
SCIENCE TIME
систему автоматизации мультимедийных аудиторий, основанную на методах
удаленного управления сетевым оборудованием. Удаленное включения
компьютера реализовано по технологии WOL (Wake-On-Lan) – пробуждение по
сигналу
в
сети.
Выключение/перезагрузка
удаленного
компьютера
осуществляется из командной строки. Управление остальным оборудованием
осуществляется с помощью сетевого релейного блока Damocles 1208. Д.С.
Жугин [3] исследовал возможности удалённого управления компьютерами в
образовательном процессе, в частности, дистанционном обучении. С. Кузнецов
[4] провёл тесты наиболее известных программ удаленного администрирования программного обеспечение, которое позволяет управлять компьютером на
расстоянии, через локальные или глобальные сети. В статье А.А. Рыбанов [5]
описал возможности применения программ для удалённого управления
компьютером при классической очной форме обучения для организации
учебного процесса в компьютерной лаборатории. А. Брэд [6] продемонстрировал
разработки в области удаленного управления компьютером, бытовой и офисной
техники с помощью портативных устройств: телефонов, КПК и др. Дж.А. Титус
[7] провел эксперименты в сфере удалённого управления компьютером с
помощью радио модулей XBee, предоставил результаты тестов их работы и
предложил сферы применения данного типа управления. Д. Хан [8] работал над
исследованием и разработкой интеллектуальной системы удалённого управления
роботом, для контроля, мониторинга его состояния и постановки сложных задач.
Л. Вонг, П. Орбан, A. Цуннингем, Ш. Лэнг [9] разработали систему динамичное
управление станком ЧПУ в реальном времени, способную к быстрым
изменениям возможностей и изменению функциональности продукции. Р.И.
Баженов, И.В. Белов и др. применяли теорию автоматов в разработке сетевых
приложений [10-14].
В разработанных программах функционирование построено на базе
протокола Telnet, с использование собственного прикладного протокола.
Сообщение протокола представляет собой строку, составленную определенным
образом. Сначала идет сама команда. После неё следует разделитель, им
является символ решетки(#). Потом стоит параметр команды. За ними –
разделитель. После этого располагаются еще три параметра, используемые
некоторыми командами, между ними находятся разделители. Сообщение
завершается двумя символами с кодами 13 и 10. Это сделано для того, чтобы
разделить сообщения, которые пришли склеенными. В протоколе длина
сообщения не постоянна, и длина команды и длинны параметров, могут быть
различными.
Рис. 1 Структура сообщения протокол
40
SCIENCE TIME
Программа состоит из двух частей: серверной и клиентской.
Серверная часть программы должна находиться на компьютере, которым
необходимо управлять удалённо, она не имеет визуализированного вида и при
запуске появляется в виде процесса, что удобно при добавлении программы в
автозапуск. Таким образом, мы сможем воспользоваться данным компьютером
без лишних действий после его запуска.
Рис. 2 Серверная часть программы в списке процессов удаленного компьютера
Данная часть программы базируется на стандартном компоненте Delphi
TServerSocket. При запуске происходит открытие сокета. После этого сокет
находятся в режиме приема команд. Обработчик OnClientRead сокета принимает
сообщения и делит их на команды, в том случае, если несколько сообщений
пришли склеенными. Далее единичное сообщение передается обработчику
команд – процедуре Replace. В ней выполняется разбиение сообщения на
команды и параметры. А также интерпретация этих команд. Всего в программе
реализовано четыре команды: leftclick (Левый клик), dbclick (Двойной клик),
richclick (Правый клик) и setcursor x y (Координаты курсора).
Клиентская часть также базируется на стандартном компоненте Delphi
TclientSocket, который служит для отправки управляющих команд на сервер и
для приема изображения экрана удаленного компьютера, которое передаётся с
частотой 10 кадров в секунду, также при медленном соединении можно
регулировать качество передаваемого изображения.
41
SCIENCE TIME
Рис. 3 Рабочий стол удаленного компьютера
В поле с именем «Параметры соединения» необходимо ввести IP-адрес
удаленного компьютера, которым нужно управлять, на котором должен быть
запущен Server.exe. После этого нажимаем кнопку «Соединить». И если IP-адрес
был введен, верно, происходит соединение с удаленным компьютером. Теперь
при помощи мыши можно управлять удаленным рабочим столом, делая, правый,
левый или двойной клики по элементам удаленного рабочего стола,
находящимся на экране клиента. После каждого клика изображение удаленного
рабочего стола на экране клиента будет обновляться. По завершению сеанса
удаленного управления следует нажать кнопку «Разорвать» для разрыва
соединения и закрыть окно клиента.
Проанализировав теоретический и практический материал по теме системы
удаленного управления компьютером, мы создали прикладной протокол,
который был реализован в программе. В итоге мы можем организовывать
необходимые действия на удалённой машине и оказывать помощь пользователю
оказавшегося в затруднительном положении. Представленный пример можно
использовать для обучения программирования систем удалённого управления.
Литература:
1. Богомолов А. Удаленное управление Exchange 2010 может быть комфортным
и продуктивным // Системный администратор. 2010. №10 (95). С. 26-30.
2. Бутников И.А., Степанов П.П., Фофанов Г.А. Система автоматизации
мультимедийных аудиторий // Прикладная математика и фундаментальная
информатика. 2014. №1. С. 236-238.
3. Жугин Д.С. Удаленное управление компьютером // Педагогическое
42
SCIENCE TIME
образование на Алтае. 2013. №1. С. 143-144.
4. Кузнецов С. Удаленное управление компьютером // Системный
администратор. 2008. №8 (69). С. 42-46.
5. Рыбанов А.А. Эффективный инструмент педагогики: программы удалённого
управления компьютером // Школьные технологии. 2010. №6. С. 131-135.
6. Myers B.A. Using handhelds for wireless remote control of PCs and appliances //
Interacting with Computers. 2005. №17. С. 251–264.
7. Titus J. A. The Hands-on XBee Lab Manual: Experiments that Teach You XBee
Wirelesss Communications. Elsevier, 2012. 324 с.
8. Han J., Chang R. Research and Developing on Intelligent Mobile Robot Remote
Monitoring and Control System // Procedia Engineering. 2011. №16. С. 840–845.
9. Wang L., Orban P., Cunningham A., Lang S. Remote real-time CNC machining for
web-based manufacturing // Robotics and Computer-Integrated Manufacturing. 2004.
№20. С. 563–571.
10. Баженов Р.И., Корнилков А.П., Лопатин Д.К. Проектирование webориентированной информационной системы университета на основе клиентсерверных технологий // Актуальные проблемы гуманитарных и естественных
наук. 2014. № 4-1. С. 68-71.
11. Баженов Р.И., Афанасьева М.А. Разработка программной модели контроля
дверей холодильника на основе теории автоматов // Журнал научных публикаций
аспирантов и докторантов. 2014. № 4 (94). С. 306-308.
12. Баженов Р.И., Балашова С.В., Моисеев В.В. Разработка компьютерной
модели мр3-плеера на основе switch-технологии // Журнал научных публикаций
аспирантов и докторантов. 2014. № 6 (96). С. 246-248.
13. Баженов Р.И. Организация научно-исследовательской работы студентов по
дисциплине «Теория автоматов» // Современная педагогика. 2014. № 5 (18). С.
20.
14. Белов И.В., Гонцова О.Ф. Разработка управления электронными часами на
основе теории автоматов // Электронное периодическое издание «Экономика и
социум». 2014. №2(11). URL: http://iupr.ru/domains_data/files/zurnal_11_may/
Belov%20I.V.%20(Informacionnye%20i%20kommunikativnye%20tehnologii).pdf
(дата обращения: 13.10.2014).
43
Download