Сниффер, анализатор пакетов
Вид материала | Курсовая работа |
- Урок 54 Дата проведения Тема: «Слуховой анализатор», 32.46kb.
- Наумова Татьяна. Группа ио-1-95 Сети передачи данных с коммутацией пакетов, 39.27kb.
- Вопросы к экзамену по сппо структура по: системное по (спо) и прикладное по (ппо), 91.96kb.
- Рекомендации относительно анализа пакетов прикладных программ. Существуют следующие, 53.59kb.
- Дисциплина «Инженерия знаний» Реферат "онтологии как основа для разработки пакетов, 160.76kb.
- «Применение программных пакетов в прогнозировании рынка лизинга», 347.69kb.
- Тема урока: Слуховой анализатор, 54.57kb.
- Авиационная медицина, 196.48kb.
- Золотая планета, 402.42kb.
- Производственное освещение, 225.31kb.
Тюменский Государственный Университет
Институт Математики и Компьютерных Наук
Компьютерная Безопасность
Курсовая работа
«Сниффер, анализатор пакетов»
Выполнил: студент 367гр. Сироткин А. М.
Научный руководитель:
к.т.н., доцент кафедры Информационной безопасности
Широких А. В.
________________________
________________________
Тюмень, 2009 г.
Оглавление
Введение 3
Теория взаимодействия драйвера захвата пакетов 4
Основная концепция архитектуры WinPCAP 4
Структура стека захвата пакетов 4
Взаимодействие с NDIS 6
Драйверы протоколов верхнего уровня 6
Драйверы протоколов промежуточного уровня 7
Промежуточные драйверы ndistapi.sys и ndiswan.sys 7
Драйверы сетевых карт 8
Делегаты 12
Виды методов 13
Теория сетей 15
Стек протоколов TCP/IP 15
История и перспективы стека TCP/IP 15
Структура стека TCP/IP. Краткая характеристика протоколов 16
Протокол доставки пользовательских дейтаграмм UDP 20
Зарезервированные и доступные порты UDP 21
Мультиплексирование и демультиплексирование прикладных протоколов с помощью протокола UDP 22
Формат сообщений UDP 23
Протокол надежной доставки сообщений TCP 24
Концепция квитирования 26
Порт (TCP/IP) 32
Заключение 35
Планы на будущее 37
Литература 38
Приложение 39
Введение
Зачастую возникает необходимость в том, чтобы посмотреть, какой информацией ваш компьютер обменивается по сети. Такая необходимость может возникнуть, например, если Вы занимаетесь отладкой какого-либо сетевого приложения, изучаете протокол обмена информацией, либо в целях безопасности. Функцию сбора информации выполняют СНИФФЕРЫ. Однако нашей целью является создание комплексного программного продукта, совмещающего в себе функции сниффера и анализатора собранной информации.
Цель: создать программный пакет для перехвата и анализа сетевого трафика.
Задачи:
- Выбор подходящей IDE (Integrated Development Environment).
- Использование подходящего драйвера для перехвата сетевых данных.
- Написание модуля для вывода статистики сетевой деятельности.
- Написание модуля для сохранения данных и их последующего анализа.
- Написание интерфейса.
Теория взаимодействия драйвера захвата пакетов
Основная концепция архитектуры WinPCAP
Архитектура WinPCAP дополняет стандартные функции операционных систем семейства Win32 возможностью принимать и передавать данные по сети, минуя стек протоколов операционной системы и взаимодействуя непосредственно с сетевым адаптером компьютера. Более того, она предоставляет приложениям API высокого уровня для управления низкоуровневыми процессами. WinPCAP состоит из трех компонентов: драйвер устройства захвата пакетов (paсket.vxd), низкоуровневая динамическая библиотека (packet.dll) и статическая библиотека высокого уровня (libpcap).
Данная архитектура может быть использована как для создания программ обработки пакетов для ОС Windows, так и для переноса аналогичных программ, написанных для ОС UNIX, и полностью совместима с архитектурой BPF – libpcap.
Структура стека захвата пакетов
Для перехвата пакетов, передаваемых по сети, приложению необходимо взаимодействовать непосредственно с сетевым оборудованием. По этой причине операционная система должна предоставлять несколько примитивных функций для приема и передачи данных непосредственно через сетевой адаптер. Назначение этих функций состоит в том, чтобы принять входящий пакет и передать его в стек протоколов операционной системы для дальнейшей обработки. Приложение получает пакет без заголовков канального, сетевого и транспортного уровней, интерпретирует и обрабатывает его и предоставляет в удобном для пользователя виде.
На рис. 1 приведена структура стека захвата пакетов от сетевого адаптера до приложения верхнего уровня.
|
Рисунок 1: структура стека захвата пакетов
На нижнем уровне находится сетевой адаптер, принимающий все пакеты, передаваемые по сети. Драйвер захвата пакетов (pcap-драйвер) packet.vxd является программным модулем низкого уровня. Он работает на уровне ядра ОС и взаимодействует непосредственно с драйвером сетевого адаптера. Pcap-драйвер предоставляет набор функций низкого уровня, обеспечивающих прием и передачу данных на канальном уровне через NDIS, который является частью сетевой подсистемы Win32. NDIS отвечает за управление различными типами адаптеров и обеспечивает связь адаптера с программным обеспечением, отвечающим за формирование пакетов различной структуры.
Динамическая библиотека packet.dll «изолирует» программу пользователя от драйвера и предоставляет приложению независимый от вида ОС (семейства Win32) интерфейс. Это позволяет приложению работать на различных Windows-платформах без перекомпиляции. Библиотека packet.dll работает на уровне пользователя, но отдельно от приложения.
Статическая библиотека libpcap используется частью программы пользователя, обеспечивающей перехват и фильтрацию пакетов. Она задействует функции, предоставляемые библиотекой packet.dll, и обеспечивает программе пользователя управление процессами приема и фильтрации данных на высоком уровне. Библиотека libpcap статически связана с программой пользователя и является ее частью.
Программа пользователя – высший уровень структуры стека захвата пакетов. Она обеспечивает обработку принятых пакетов и отображение результатов в удобном для пользователя виде.