Форум по Delphi программированию

 



Вернуться   Форум по Delphi программированию > Разное > Флейм
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.01.2013, 16:13
LOSTeam LOSTeam вне форума
Прохожий
 
Регистрация: 30.01.2013
Сообщения: 2
Репутация: 10
Радость Рассказ о том, как студент удалённое управление творил

Рассказ о том, как студент удалённое управление творил, или:

"...А дядьки с рубильниками у нас перевелись..."

---

Сидя теплым сентябрем 2009 года в местной столовой и разговаривая с админом (работаю лаборантом), мы в которой раз обсуждали, как бы понаблюдать за студентами, а точнее – не дать им как следует развлечься за Counter Strike, да и просто развлечься. Наблюдать, естественно, удаленно. Мол, что они там вытворяют на компах во время пар. Вариантов вмешательств на тот момент было не очень много: либо процессы смотреть и уничтожать, если потребуется, либо удалять исполняемые файлы игрушек. Короче, напоминать студентам о том, кто они есть на самом деле.

Почему нам не подходили программы удаленного управления, которые были хорошо известны в Интернете? Ну, во-первых, одни стоили денег. А те, которые не стоили денег, реально ничего не стоили, так как ничего не содержали в себе, чем бы можно было напугать студентов и развеселить админа. Или наоборот. Развеселить студента и напугать админа.

Во-вторых, если какая-нибудь ”Цзян-юань” из группы программистов заметит самопроизвольное движение хвостатой твари вдоль гибкой оси Internet Explorer, и ветка сакуры расцветет из трея с надписью ”Radmin client”, то не избежать нам кары небесной в виде убийства любыми способами ненаглядного, горячо любимого нами, клиента, изящными руками ненаглядной нашей ”Цзян-юань”.

В третьих, компьютеров в нашей локальной сети около 300, и пока мы будем переключаться с одного компьютера на другой, пройдет ой как много времени. ”Ой” обычно начинается от лихорадочного поиска людей, пытающихся искалечить локальную сеть любыми способами, до тупого вырубания всех компьютеров одной из аудиторий с криком «Я все видел!». Вырубания не ручного, нет: удаленного. Дядьки с рубильниками у нас перевелись.

Вернемся в Россию. Поперхнувшись картошкой (напоминаю, мы уже в России. Ни о какой сакуре или сакэ не будет и речи), я принял вариант сделать такую систему через сокеты, ибо и доступ будет беспрепятственный, и связь постоянная: по принципу клиент-сервер. Второй раз поперхнуться так и не удалось, потому что идея захватила меня с ног до головы, да и время обеда подходило к концу. Ну, админ дал добро на создание (””…Добро! – сказал он с поднятой вверх рукой…”), дело оставалось за немногим. Немногим, как казалось мне тогда.
На следующий теплый сентябрьский денек я уже сидел и писал кости моего проекта. Одновременно делал клиентскую и серверную части. Идеи до удаленной установки клиентской части не доходило, решили обходиться автозагрузкой.
Днем я учился, а после обеда постоянно тестировал прогу в свободных аудиториях. И первая проблема, с которой я столкнулся: как сделать программу максимально незаметной. Не только в плане грандиозного вывода сообщений об ошибках в работе клиента на всеобщее обозрение, но и видимости в процессах. Нашел несколько вариантов скрытия процесса, но крики антивируса были сильнее найденного кода. Ну что ж, подумал я, тогда обойдемся просто невидимыми окнами.
Потянулись длинные дни и ночи безумного кодинга и поиска различных решений для поставленных задач. Функциональность программки на первых этапах была скромной, зато ошибок с каждой версией было предостаточно. Поступал по принципу: залатал ошибку – создал еще парочку. Чтоб скучать не пришлось. Ни админу, ни мне. Ну и студентам.

Сначала я сделал просмотр процессов, выключение/перезагрузку компьютера. Затем дело перешло к наблюдению за состоянием удаленного рабочего стола, которое на первых порах конкретно грузило проц. Как поступать в таких случаях, когда твоя разработка работает медленнее или хуже, чем аналогичная другая? Правильно, посмотреть, за счет чего аналогичная так работает. Проц удаленного компьютера сразу же передумал и стал грузиться на 5%.

За удаленной установкой дело долго не стояло – ”пикзец” пришел на помощь. Полный. Потому что он (пикзец то бишь, программа такая) позволяет удаленно запускать приложения, если есть всеадминсткие права. Пришлось написать скрипт для удаленной установки клиента для себя любимого, чтобы не тревожить спящего админа. Почему спящего? Потому что после тяжелого рабочего дня ( хотя обычно уже после обеда) он садился рядом, на стул, и медленно засыпал. Я периодически направлял спящее тело админа в сторону, приводящую его плоть в вертикальное равновесие (нет, не в то самое место, не подумайте, я говорю о пространстве), иначе движение в левую или правую часть пространства неминуемо привело бы не только к гибели человека, встретившего смерть от пола, покрытого жестким линолеумом, но и потери замечательного бета-тестера. А этого нельзя было допустить никоим образом.
Итак, ваши глаза дошли до этого места и вы уже прочитали мою эпопею, изложенную выше? Отлично. Если нет, смахните слезу от усталости со щеки и переместитесь туда, где остановились.

Назвал я свое детище "NetDominator", в переводе что-то типа "сетевой властитель". Можно было в стиле "Александр Македонский", но обжимать сетевые провода серединой 4-ого века не поднялась рука.

Функции и достоинства "NetDominator"

Разложу по полочкам:

1) Выключение, перезагрузка удаленного компьютера;
2)Обзор внутренних и внешних дисков удаленного компьютера через файловый менеджер;
3) Работа с файлами и папками:
a. удаление файлов/папок;
b. скачивание файлов с удаленного компьютера;
c. создание файлов/папок;
4) Просмотр текстовых файлов;
5) Редактирование текстовых файлов с их последующим сохранением;
6) Копирование файлов или директорий;
7) Запуск программы из командной строки;
8) Вставка текста, введенного в командной строке в Microsoft Office Word или Блокнот;
9) Вывод сообщения пользователю;
10) Просмотр запущенных процессов, возможность завершить любой из них;
11) Получение снимков рабочего стола с каждого компьютера или со всех компьютеров в данный момент;
12) Формирование статистики вида: имя подключенного компьютера – его IP-адрес, сохранение данной статистики в файл;
13) Сортировка списка подключенных компьютеров;
14) Блокировка удаленного компьютера;
15) Блокировка мыши и клавиатуры на удаленном компьютере;
16) Перезагрузка/выключение всех компьютеров, имеющихся в списке.
17) Возможность одновременного совмещения несколько действий: например, копирование файлов на одном компьютере и управление другим.
18) Не требуется инсталляция ни серверной, ни клиентской части;
19) Для удаленной установки клиента используется программа ”PsExec”. разработанная компанией Sysinternals;
20) Также для удаленной установки автором разработан vbs-скрипт;
21) Работа с группой компьютеров не составляет труда: работая с одним компьютером, можно сразу переключиться на другой, не затрачивая время;
22) Ну, и что немаловажно, программа абсолютна бесплатна.

Отмечу, что на разработку всего этого потребовалось мне около полугода.
Не теряя время, я одновременно писал сайт для моей программы. Кроме этого, мной была составлена документация, что и как нужно использовать в данной программе, чтобы все было ясно.
Но и это еще не все (”O_o как так?! Да где же конец этой статье уже пятый день дочитать не могу …”). На данном сайте есть гостевая и форум: ну мало ли, вдруг понадобится. И, наконец, там же находится видео-ролик, где прекрасно продемонстрирована работа данного программного комплекса удаленного управления и наблюдения.
Использовать или не использовать ”NetDominator” – решать Вам. Если у вас есть локальная сеть, и в ней сидят юные любители поболтать с контроллером домена - то, пожалуй, попробовать можно. По-крайней мере, мне данная программа доставила немало приятных минут.

Вот, пожалуй, и все. С Вами был LOSTeam, спасибо за внимание.

12.05.2010

---

P.S. Ссылка на исходники программы:
Скачать

Последний раз редактировалось LOSTeam, 30.01.2013 в 16:27.
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:28.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2020

ВКонтакте   Facebook   Twitter