Сниффер, анализатор пакетов

Вид материалаКурсовая работа

Содержание


Теория взаимодействия драйвера захвата пакетов Основная концепция архитектуры WinPCAP
Структура стека захвата пакетов
Взаимодействие с NDIS
Драйверы протоколов верхнего уровня
Драйверы протоколов промежуточного уровня
Промежуточные драйверы ndistapi.sys и ndiswan.sys
Драйверы сетевых карт
Виды методов
Теория сетей Стек протоколов TCP/IP
Структура стека TCP/IP. Краткая характеристика протоколов
TCP (Transmission Control Protocol) и протокол дейтаграмм пользователя UDP
Протокол доставки пользовательских дейтаграмм UDP
Зарезервированные и доступные порты UDP
Internet Assigned Numbers Authority
Мультиплексирование и демультиплексирование прикладных протоколов с помощью протокола UDP
Формат сообщений UDP
Протокол надежной доставки сообщений TCP
Сегменты TCP
Порты и установление TCP-соединений
Концепция квитирования
...
Полное содержание
Подобный материал:
  1   2   3   4


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

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

Компьютерная Безопасность


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

«Сниффер, анализатор пакетов»


Выполнил: студент 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



Введение



Зачастую возникает необходимость в том, чтобы посмотреть, какой информацией ваш компьютер обменивается по сети. Такая необходимость может возникнуть, например, если Вы занимаетесь отладкой какого-либо сетевого приложения, изучаете протокол обмена информацией, либо в целях безопасности. Функцию сбора информации выполняют СНИФФЕРЫ. Однако нашей целью является создание комплексного программного продукта, совмещающего в себе функции сниффера и анализатора собранной информации.

Цель: создать программный пакет для перехвата и анализа сетевого трафика.

Задачи:
  1. Выбор подходящей IDE (Integrated Development Environment).
  2. Использование подходящего драйвера для перехвата сетевых данных.
  3. Написание модуля для вывода статистики сетевой деятельности.
  4. Написание модуля для сохранения данных и их последующего анализа.
  5. Написание интерфейса.



Теория взаимодействия драйвера захвата пакетов

Основная концепция архитектуры 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 статически связана с программой пользователя и является ее частью.

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