Смекни!
smekni.com

«Система удаленного администрирования» (стр. 1 из 3)

Тюменский государственный университет

Институт математики и компьютерных наук

Кафедра информационной безопасности

Курсовая работа

по специальности

на тему «Система удаленного администрирования»

Выполнил:

Студент группы № 367

Колесников Евгений Николаевич

Руководитель:

Доцент кафедры

Широких Андрей Валерьевич

Дата сдачи: ___________

Оценка: ______________

Тюмень 2009 г.

Оглавление

Введение........................................................................................................................................................................... 3

Microsoft .NET Framework........................................................................................................................................... 4

Сокеты 5

Захват изображения BitBlt.......................................................................................................................................... 6

Класс NetworkStream.................................................................................................................................................... 7

Класс FileStream............................................................................................................................................................. 9

Класс MemoryStream................................................................................................................................................... 9

Сериализация............................................................................................................................................................... 10

Практическая часть.................................................................................................................................................... 11

Описание сервера........................................................................................................................................................ 11

Описание клиента....................................................................................................................................................... 12

Функционал клиентского приложения.................................................................................................................. 13

File Manager................................................................................................................................................................... 14

Program Manager.......................................................................................................................................................... 15

Screen 16

Список литературы.................................................................................................................................................... 18

Приложение.................................................................................................................................................................. 19

Краткий обзор существующих продуктов........................................................................................................... 19

Пример кода.................................................................................................................................................................. 21

Снятие копии экрана.................................................................................................................................................. 21

Сериализация объектов............................................................................................................................................. 22

Десериализация объектов......................................................................................................................................... 22



Введение

Цель курсовой работы изучить сетевое программирование на примере работы программы удаленного администрирования с элементами управления. Для достижения этой цели необходимо выполнить следующие задачи:

- Разработать приложение со следующим набором функций:

- Работа как клиент серверное приложение

- Стандартный протокол TCP/IP

- Поддержка авторизации через логин/пароль;

- Передаваться будут снимки экрана;

- Работа с файловой системой удаленного компьютера;

- Работа с процессами приложений.

Специфика программы заключается в том, что администратор или администраторы (количество не ограничено) смогут контролировать действия удаленных пользователей, путем просмотра копии экрана, просматривать список процессов запущенных на удаленном хосте, с помощью файл-менеджера иметь представление обо всех дисках, файлах и папках, а так же возможность обмена сообщениями в общем чате. При необходимости возможно частичное управление удаленного компьютера путем добавления, завершения необходимых процессов, запуск и удаление любых файлов. Программа будет особенно полезна руководителям - проследить, чем же занимаются сотрудники в рабочее время. Программа пригодится преподавателям для экономии времени по проверке заданий. Встроенный чат будет удобен для оперативного обращения к администратору программы, да и в целом для общения между клиентами. Программа специально создана, чтобы решать конкретные задачи по обслуживанию пользователей.Теоретическая часть

Microsoft .NET Framework

Microsoft .NET Framework — программная технология, предназначенная для создания как обычных программ, так и веб-приложений (в качестве платформы для разработок впервые предложена корпорацией Microsoft).

Одной из основных идей Microsoft .NET является совместимость различных служб, написанных на разных языках. Например, служба, написанная на C++ для Microsoft .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi. Каждая библиотека (сборка) в .NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.

.NET является патентованной технологией корпорации Microsoft. Тем не менее, после заключения договоренности с компанией Novell, была признана технология Mono как реализация .NET на Unix-подобных системах (GNU/Linux, Mac OS X).

Сокеты

Сокет – это один конец двухстороннего канала связи между двумя программами, работающими в сети. Соединяя два сокета, можно передавать данные между разными процессами. Реализация сокетов обеспечивает инкапсуляцию протоколов сетевого и транспортного уровней.

Порт определен, чтобы разрешить задачу одновременного взаимодействия с несколькими приложениями. По существу с его помощью расширяется понятие IP-адреса. Компьютер, на котором в одно время выполняется несколько приложений, получая пакеты из сети, может идентифицировать целевой процесс, пользуясь канальным номером порта определенным при установлении соединения.

Сокет состоит из IP-адреса машины и номера порта, используемого приложением TCP. Поскольку IP-адрес уникален в Интернете, а номера портов уникальны на отдельной машине, номера сокетов также уникальны во всем Интернете. Эта характеристика позволяет процессу общаться через сеть с другим процессом исключительно на основании номера сокета.

Поддержку сокетов в .NET обеспечивают классы в пространстве имен System.Net.Soscet.

TCP или Transmission Control Protocol, используется как надежный протокол, обеспечивающий взаимодействие через взаимосвязанную сеть компьютеров. TCP- это ориентированный на соединение протокол, предназначенный для обеспечения надежной передачи данных между процессами, выполняемыми или на одном и том же компьютере или на разных компьютерах.

Криптография – она нужна для обеспечения безопасности передаваемых через сокет данных. При шифровании и дешифровании информации в симметричных алгоритмах используется один и тотже ключ.

Пространство имен System.Security.Cryptography обеспечивает простой способ реализации средств безопасности в .NET-приложениях при помощи криптографических классов.

Захват изображения BitBlt

Вы можете использовать точечный рисунок, чтобы захватить изображение, сохранить захваченное изображение в памяти, показать его на экране в другом месте окна вашего приложения, или показать его на экране в другом окне.

В некоторых случаях, можете возникнуть необходимость, чтобы ваше приложение захватывало изображения и сохраняло их только временно. Например, когда Вы масштабируете или увеличивайте (уменьшайте) рисунок, созданный в прикладной программе рисования, приложение должно временно сохранить нормальный вид изображения и показать на экране измененный в масштабе вид. Позже, когда пользователь выбирает нормальный вид, приложение должно заменить масштабированное изображение на копию нормального вида, который оно временно сохранило.

Чтобы временно сохранить изображение, ваше приложение должно вызвать функцию CreateCompatibleDC, чтобы создать контекст устройства (DC), который является совместимым с текущим контекстом устройства окна. После того, как Вы создадите совместимый контекст устройства, создайте точечный рисунок с соответствующими размерами при помощи вызова функции CreateCompatibleBitmap, а затем выберите его в этот контекст устройства при помощи вызова функции SelectObject.

После того, как совместимый контекст устройства будет создан, а соответствующий точечный рисунок выбран в него, Вы можете сделать захват изображения. Функция BitBlt захватывает изображение. Эта функция выполняет пересылку блока битов - то есть она копирует данные с исходного точечного рисунка в принимающий точечный рисунок. Однако, эти два параметра функции - не дескрипторы точечного рисунка. Вместо этого, BitBlt принимает дескрипторы, которые идентифицируют два контекста устройства и копирует растровые данные с точечного рисунка, выбранного в источниковом DC в точечный рисунок, выбранный в целевом DC. В данном случае, целевой DC - совместимый контекст устройства, таким образом когда BitBlt завершает передачу, изображение сохраняется в памяти. Чтобы восстановить на экране изображение, вызовите BitBlt второй раз, устанавливая совместимый контекст устройства как источниковый DC, а контекст устройства окна (или принтера) как целевой DC.

Код примера ниже из приложения, которое захватывает изображение всего рабочего стола, создает совместимый контекст устройства и точечный рисунок с соответствующими размерами, выбирает точечный рисунок в совместимый контекст устройства (DC), а затем копирует изображение, используя функцию BitBlt.

Класс NetworkStream

Данные передаются по сети между двумя узлами в форме непрерывного потока. Для обработки таких потоков в платформе .NET имеется специальный класс NetworkStream, который входит в пространство имен System.Net.Sockets и используется для отправки и получения данных через сетевые сокеты.