Skip to content

L0rdLizard/pcapProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pcap project

Проект при разработке был развёрнут внутри docker контейнера в среде Linux

Task 1 - C++

Задание: Должна реализовать функционал классификации сетевых пакетов, для этого она должна проделать следующие действия:

  1. С помощью библиотеки libpcap (либо другой на выбор разработчика) прочитать пакеты из pcap файла. Возможность захвата пакетов с сетевого интерфейса будет дополнительным преимуществом при оценивании.
  2. Выделить из них заголовки IP пакетов и заголовки TCP|UDP.
  3. Из выделенных заголовков прочитать IP адреса и порты.
  4. Каждый пакет классифицировать к потоку (совокупности пакетов от IP адреса №1 до IP адреса №2 с уникальной комбинацией портов).
  5. В каждом потоке посчитать количество пакетов и количество переданных байт.
  6. После завершения чтения всех пакетов информацию о всех выделенных потоках необходимо записать в CSV файл.

Примечание №1 по Программе №1: Необходимо классифицировать только IPv4 пакеты. Примечание №2 по Программе №1: Формат CSV файла: <IP адрес источника>,<IP адрес получателя>,<порт источника>,<порт получателя>,<кол-во пакетов>, >,<кол-во байт>.

Использование: <исполняемый файл> <режим> <интерфейс или файл>

Режимы:

1 - режим захвата пакетов с сетевого интерфейса

2 - режим чтение пакетов из pcap файла

Task 2 - Python

Задание: Запускается после завершения работы первой программы комплекса и должна выполнить постобработку полученных статистических сведений, для этого необходимо выполнять следующие действия:

  1. Прочитать CSV файл, сгенерированный Программой №1.
  2. Для каждого, представленного в файле, IP адреса подсчитать кол-во принятых и переданных байт и пакетов.
  3. Полученные данные записать в CSV файл.

Примечание №1 по Программе №2: Формат CSV файла: <IP адрес>,<кол-во принятых пакетов>,<кол-во принятых байт>,<кол-во переданных пакетов >,<кол-в переданных байт>.

Использование: python <исполняемый файл> <исходный CSV файл>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published