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

бесплатно 0
4.5 172
Разработка и практическая апробация действия драйвер-фильтра USB-накопителя операционной системы Windows, предоставляющего возможности: установка на любой USB накопитель, перехват информации ввода/вывода, запись перехваченной информации в файл на диске.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
При решении широкого круга задач возникает необходимость в получении информации о функционировании какого-либо внешнего устройства компьютера.В соответствии с заданием на курсовую работу необходимо разработать программный комплекс, обеспечивающий слежение за обменом информацией между компьютером и внешним запоминающим USB-устройством. Перечислим требования, предъявляемые к программному комплексу: · Разрабатываемый комплекс должен отслеживать запросы на чтение и запись, приходящие к устройству; Пользовательское приложение не должно иметь возможность в результате ошибки или преднамеренно вносить изменения в критические таблицы операционной системы или в память других приложений. В Windows NT 5 обеспечение обмена данными и управление доступом к внешнему устройству как к разделяемому ресурсу возлагается на его драйвер. Запросы на ввод / вывод, посылаемые приложениями или другими драйверами, обрабатываются драйвером, после чего запрашивающей программе в том же пакете посылается статус завершения операции.Текущими версиями спецификации USB является версии 1.1 и 2.0 (во вторую заложены более высокие скоростные характеристики). Предельная скорость передачи данных по шине USB спецификации 1.1 составляет 12 Мбит/с (Full Speed). Медленные устройства используют низкую скорость передачи - 1,5 Мбит/с (Low Speed). Стандарт USB версии 2.0 поддерживает физическую скорость передачи до 480 Мбит/с (High Speed). Использование USB-хаба (hub - концентратор) позволяет увеличить дальность размещения устройств от хост-контроллера, а так же количество устройств, подключаемых к одной шине USB.Все операции по передаче данных по шине USB инициируются хостом. Таким образом, операция обмена данными между прикладной программой и шиной USB выполняется путем передачи буферов памяти через следующие уровни: · уровень клиентского программного обеспечения в хосте - обычно представляется драйвером устройства USB, обеспечивает взаимодействие пользователя с операционной системой с одной стороны и системным драйвером с другой; · уровень системного программного обеспечения USB в хосте (USBD, Universal Serial Bus Driver) - управляет нумерацией устройств на шине, управляет распределением пропускной способности шины и мощности питания, обрабатывает запросы пользовательских драйверов; Каждая конечная точка логического устройства идентифицируется своим номером и направлением передачи (IN - передача к хосту, OUT - от хоста). Когда клиентское программное обеспечение передает IRP уровню системного драйвера, USB-драйвер преобразует их в одну или несколько транзакций шины и затем передает получившийся перечень транзакций драйверу контроллера хоста.WDM (Windows Driver Model) - новая модель архитектуры драйверов, предложенная Microsoft для Windows 2000, хотя эта архитектура развивалась, начиная с Windows 3.11, продолжая развиваться и в Windows 98 и Windows NT, но по-настоящему полной она стала только в Windows 2000. С точки зрения WDM, существует три типа драйверов: · Драйвер шины - драйвер, обслуживающий контроллер шины, адаптер, мост или любые другие устройства, имеющие дочерние устройства. Этот драйвер обязателен кроме тех случаев, когда ввод-вывод осуществляется драйвером шины или драйвером фильтров шины.Согласно перечисленным выше типам драйверов, существует три типа объектов: · Объекты физических устройств (PDO, Physical Device Object) - эти объекты создаются для каждого физически идентифицируемого элемента аппаратуры, подключенного к шине данных; · Объекты функциональных устройств (FDO, Functional Device Object) - подразумевает единицу логической функциональности устройства; · Объекты фильтров устройств (FIDO, Filter Device Object) - предоставляют дополнительную функциональность. Шинный драйвер составляет список всех устройств, подключенных к шине. На каждый PDO посылается запрос IRP_MN_QUERY_DEVICE_RELATION, в ответ на который шинный драйвер возвращает идентификаторы всех найденных устройств;WDM-драйверы отличаются от унаследованных драйверов тем, что должны содержать дополнительные точки входа для поддержки PNP, и, в целом, они более логичны по структуре. В WDM-драйверах на DRIVERENTRY возложены обязанности по регистрации всех остальных точек входа драйвера. В драйверах, поддерживающих PNP, через эту точку входа менеджер PNP посылает драйверу уведомление об обнаружении устройства, за которое должен отвечать драйвер. Пакеты ввода / вывода (IRP-пакеты) используются для передачи запросов к драйверу от его клиентов. PFILE_OBJECT FILEOBJECT Файловый объект для данного запроса, если он задан union Parameters (трактовка определяется значением MAJORFUNCTION) struct Read Параметры для IRP типа IRP_MJ_READ: ULONG Length ULONG Key LARGE_INTEGER BYTEOFFSET struct Write Параметры для IRP типа IRP_MJ_WRITE: ULONG Length ULONG Key LARGE_INTEGER BYTEOFFSET struct DEVICECONTROL Параметры для IRP типа IRP_MJ_DEVICE_CONTROL: ULONG OUTPUTBUFFERLENGTH ULONG INPUTBUFFERLENGTH ULONG IOCONTROLCODE PVOID Type3INPUTBUFFERВ каждый момент времени центральный процессор находится на

План
Оглавление

Введение 3

1. Аналитический раздел 4

1.1 Постановка задачи 4

1.2 Архитектура Windows NT 5 4

1.3 Шина USB 7

1.3.1 Внутренняя организация шины USB 8

1.4 Драйверная модель WDM 16

1.4.1 Драйверные слои 17

1.4.2 Точки входа WDM-драйвера 19

1.5 Пакет запроса ввода / вывода (IRP) 20

1.6 Уровни запроса прерываний 24

1.7 Уведомление о завершении запроса нижестоящим драйвером 25

1.8 Работа с файлами в режиме ядра 26

1.9 Работа с реестром в режиме ядра 29

1.10 MDL-списки 31

2. Конструкторский раздел 32

2.1 Точки входа разрабатываемого драйвера 32

2.1.1 Функция DRIVERENTRY 32

2.1.2 Функция ADDDEVICE 32

2.1.3 Функция DRIVERUNLOAD 33

2.1.4 Функция DISPATCHROUTINE 33

2.1.5 Функция DISPATCHINTERNALDEVICECONTROL 33

2.2 Размещение кода драйвера в памяти 35

2.3 Установка драйвера в системе 35

3. Технологический раздел 38

3.1 Выбор языка и средств программирования 38

3.1.1 Драйвер-фильтр 38

3.1.2 Управляющее приложение 39

3.2 Структуры данных драйвера-фильтра 39

3.2 Интерфейс управляющего приложения 41

3.3 Тестирование драйвера-фильтра 42

Заключение 44

Список литературы и интернет-ресурсов 45

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

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

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?