- •Сборник методических указаний к лабораторным работам
- •Тула 2012
- •Лабораторная работа № 1 Работа с языком серверных программ-сценариев php.
- •1. Цель работы
- •2. Теоретические сведения
- •Описание: int fopen(string filename, string mode);
- •Описание: int fclose(int fp) ;
- •Описание: string strtolower(string str);
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Варианты заданий
- •6. Контрольные вопросы
- •7. Рекомендуемая литература
- •Лабораторная работа № 2 Работа с языком сценариев JavaScript
- •1. Цель работы
- •2. Теоретические сведения
- •Обработчики событий
- •7. Рекомендуемая литература
- •Лабораторная работа № 3 работа с дазами данных в web-приложениях
- •1. Цель работы
- •2. Теоретические сведения
- •Соединение с сервером базы данных:
- •Проверка количества вернувшихся строк:
- •7. Рекомендуемая литература
- •Лабораторная работа № 4 методы поиска файлов в сети
- •1. Цель работы
- •2. Теоретические сведения
- •7. Рекомендуемая литература
- •Лабораторная работа № 5 Работа с сетевыми утилитами и протоколами прикладного уровня
- •1. Цель работы
- •2. Теоретические сведения
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Варианты заданий
- •6. Контрольные вопросы
- •Лабораторная работа № 6 Взаимодействие прикладных программ с помощью протоколов электронной почты и протоколов прикладного уровня
- •1. Цель работы
- •2. Теоретические сведения
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Варианты заданий
- •6. Контрольные вопросы
- •Лабораторная работа № 7 Захват и анализ пакетов стека tcp/ip с использованием WinPcap.
- •1. Цель работы
- •2. Теоретические сведения
- •Структуры данных.
- •Функции библиотеки packet.Dll
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Варианты заданий
- •6. Контрольные вопросы
- •Лабораторная работа № 8 Формирование и передач по сети пакетов стека tcp/ip с использованием WinPcap.
- •1. Цель работы
- •2. Теоретические сведения
- •Функции библиотеки packet.Dll, используемые для передачи пакетов
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Варианты заданий
- •6. Контрольные вопросы
Лабораторная работа № 7 Захват и анализ пакетов стека tcp/ip с использованием WinPcap.
1. Цель работы
Изучение структуры стека протоколов TCP/IP, а также технологии захвата и анализа пакетов с использованием WinPCAP с целью изучения основ функционирования средств анализа сетевого трафика для защиты от внешних атак.
2. Теоретические сведения
Transmission Control Protocol/Internet Protocol (TCP/IP) - это промышленный стандарт стека протоколов, разработанный для глобальных сетей. Стандарты TCP/IP опубликованы в серии документов RFC и описывающих внутреннюю работу сети Internet.
Основные сведения по стеку протоколов, включая форматы заголовков и особенности функционирования, подробно рассмотрены в курсе лекций и специальной литературе. Здесь приводятся сведения, необходимые для работы с архитектурой WinPCAP.
Архитектура WinPCAP состоит из двух библиотек.
1) libpcap, предоставляет приложению пользователя интерфейс высокого уровня для взаимодействия с драйвером захвата пакетов. Она позволяет принимать и отфильтровывать пакеты.
2) packet.dll представляет собой динамически загружаемую библиотеку, с помощью которой приложение пользователя взаимодействует с драйвером захвата пакетов. Функции библиотеки обеспечивают выполнение таких операций, как получение дескрипторов сетевых адаптеров, прием и передачу пакетов произвольной структуры по сети, установку буферов и фильтров драйвера и т.д.
В этой и следующей лабораторных работах используется библиотека packet.dll. Здесь кратко рассмотрены структуры данных и основные функции, необходимые для захвата пакетов.
Структуры данных.
Здесь приведены основные структуры данных, описанных в библиотеке packet.dl.:
1. Структура PACKET описывает принимаемый или передаваемый пакет. Состоит из следующих полей:
OVERLAPPED OverLapped – структура, описанная в DDK Windows, используется для поддержки синхронных вызовов драйвера
PVOID Buffer – указатель на буфер, содержащий пакет;
UINT Length – размер буфера;
PVOID Next – указатель на следующий пакет;
UINT ulBytesReceived – размер части буфера, содержащей «верные» данные;
BOOLEAN bIoComplete – показывает, содержит ли буфер «верные» данные после асинхронного вызова.
2. Структура ADAPTER содержит описание сетевого адаптера:
HANDLE hFile – указатель на дескриптор драйвера адаптера;
TCHAR SymbolicLink – строка, содержащая имя сетевого адаптера, открытого в данный момент.
3. Структура bpf_program является указателем на программу BPF-фильтра и используется функцией PacketSetBPF для установки фильтра в драйвере:
UINT bf_len – размер программы-фильтра;
struct bpf_insn *bpf_insns – указатель на первую инструкцию программы.
4. Структура bpf_hdr описывает заголовок, используемый драйвером при передаче принятого пакета приложению:
struct timeval (tv_sec – дата захвата в стандартном формате UNIX (число секунд, начиная с 1/1/1970), tv_usec – микросекунды захвата)
UINT bh_caplen – длина снимка (захваченной порции данных);
UINT bh_datalen – реальная длина захваченного пакета;
USHORT bh_hdrlen – размер структуры bpf_hdr.
5. Структура bpf_stat используется для получения статистической информации о текущей сессии:
UINT bs_recv – число пакетов, принятых адаптером с момента начала сессии;
UINT bs_drop – число потерянных пакетов с момента начала сессии.
