- •Сборник методических указаний к лабораторным работам
- •Тула 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. Контрольные вопросы
3. Порядок выполнения работы
Получить вариант задания у преподавателя.
Разработать прикладную программу в соответствии с заданием.
Подготовить и защитить отчет.
Написать и отладить программу на ЭВМ.
Сдать работающую программу преподавателю.
4. Требования к оформлению отчета
Отчет должен содержать следующие разделы:
задание по лабораторной работе;
текст программы;
выводы по проделанной работе.
5. Варианты заданий
Разработать программу, которая перехватывает все пакеты сети, программно отфильтровать и проанализировать TCP пакеты (определить IP-адреса источника и приемника пакета, порт приемника и источника, длину TCP пакета).
Разработать программу, которая перехватывает все пакеты сети, программно отфильтровать и проанализировать UDP пакеты (определить IP-адреса источника и приемника пакета, порт приемника и источника, длину UDP пакета).
Разработать программу, которая перехватывает все пакеты сети, программно отфильтровать и проанализировать ICMP пакеты (определить IP-адреса источника и приемника пакета, тип ICMP-датаграммы).
Разработать программу, которая перехватывает пакеты, предназначенные только этой станции, произвести полный анализ IP-датаграммы (вывести значения всех полей получаемых пакетов).
Разработать программу, для учета статистики работы адаптера.
6. Контрольные вопросы
Для чего предназначена архитектура WinPCAP?
Каковы основные особенности WinPCAP?
Можно ли (если да, то как?) получить IP-пакет без использования архитектуры WinPCAP?
Какова структура стека захвата протоколов?
Лабораторная работа № 8 Формирование и передач по сети пакетов стека tcp/ip с использованием WinPcap.
1. Цель работы
Научиться формировать пакеты стека протоколов TCP/IP и передавать их по сети, используя архитектуру WinPCAP.
2. Теоретические сведения
Данная лабораторная работа основывается на материале предыдущей работы.
Функции библиотеки packet.Dll, используемые для передачи пакетов
BOOLEAN PacketSendPacket (LPADAPTER AdapterObject, LPPACKET lpPacket, BOOLEAN Sync) – позволяет передать сформированный пользователем пакет ПРОИЗВОЛЬНОЙ СТРУКТУРЫ в сеть через адаптер, заданный переменной AdapterObject. При этом пользователь программным образом создает заголовок пакета, заполняет его данными и отправляет его в сеть «как есть». Формировать структуру bpf_hdr перед заголовком отправляемого пакета не нужно. Также нет необходимости рассчитывать CRC пакета, поскольку она будет автоматически рассчитана сетевым интерфейсом и помещена в конце блока данных. Функция имеет те же аргументы, что и PacketReceivePacket.
Возможности данной функции дополняет функция PacketSetNumWrites, которая устанавливает число повторов передачи одного пакета при вызове функции PacketSendPacket.
BOOLEAN PacketSetNumWrites (LPADAPTER AdapterObject, int nwrites) – определяет число повторов одиночной операции передачи данных (аргумент nwrites). По умолчанию nwrites=1, однако при помощи этой функции значение можно изменить. Так, если установлено 5 повторов, то вместо одного пакета, отправляемого при помощи вызова PacketReceivePacket, будет отправлено 5 копий этого пакета.
Фрагменты программы для перехвата пакетов
// побайтно создается пакет произвольной структуры.
// пакет отправляется в сеть в виде, в каком он записан в буфере,
// поэтому программисту нужно самому создавать заголовки и т.д.
packetbuff[0]=1;
packetbuff[1]=1;
packetbuff[2]=1;
packetbuff[3]=1;
packetbuff[4]=1;
packetbuff[5]=1;
packetbuff[6]=2;
packetbuff[7]=2;
packetbuff[8]=2;
packetbuff[9]=2;
packetbuff[10]=2;
packetbuff[11]=2;
for(i=12;i<1514;i++){
packetbuff[i]=i%256;
}
PacketInitPacket(lpPacket,packetbuff,Snaplen); //инициализация структуры PACKET в соответствии с данными Snaplen – размер пакета
PacketSetNumWrites(lpAdapter,npacks); //количество пакетов
PacketSendPacket(lpAdapter,lpPacket,TRUE); //отправка пакетов в синхронном режиме
