Файл: Генератор трафика. Создание пакетов с соединением tcp на примере программы Scapy. Рубцов Владислав Владиславович.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.12.2023
Просмотров: 21
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Генератор трафика. Создание пакетов с соединением TCP на примере программы Scapy.
Рубцов Владислав Владиславович
Студент, Поволжский государственный университет телекоммуникаций и информатики, Россия, г. Самара
Чичкин Вадим Андреевич
Студент, Поволжский государственный университет телекоммуникаций и информатики, Россия, г. Самара
Мочинов Александр Александрович
Студент, Поволжский государственный университет телекоммуникаций и информатики, Россия, г. Самара
Семёнов Максим Дмитриевич
Студент, Поволжский государственный университет телекоммуникаций и информатики, Россия, г. Самара
Аннотация: В настоящее время, все мы являемся активными пользователями интернета. И рано или поздно всем нам приходится разбираться, что такое трафик в интернете. Простыми словами это объем информации, который передается между компьютерными устройствами в виде двоичного кода за единицу времени. Трафик нам нужен для того, чтобы передавать информацию друг другу. В данной статье мы познакомим вас с интересной программой, написанной на Python для анализа сетевых пакетов. Разберём её и покажем принцип работы сетевых пакетов, их передачу по протоколам связи таких как TCP, UDP и другие. Сравнение, отличие и недостатки этих соединений.
Ключевые слова: интернеттрафик, данные, компьютерная сеть, сетевые протоколы, сокеты.
Scapy.
В этом разделе будут показаны некоторые функции Scapy с Python 2.
Для начала создадим пакет данных и поработаем с ними:
Здесь создаётся пакет, который будет передаваться по локальному адресу внутри нашей сети. Как мы видим, наш компьютер транслирует соединение на хосте 0.0.0.0 что означает что мы разрешаем все адреса нашего компьютера.
Теперь создадим сразу четыре IP-пакета и посмотрим как это работает
С
начала мы создаем экземпляр класса IP. Затем мы снова создаем его экземпляр и предоставляем пункт назначения с четырьмя IP-адресами. Поскольку мы предоставили файл сеанса, переменные, над которыми мы работали, сохраняются, а затем перезагружаются.
Укладка слоев.
Оператор был использован в качестве оператора композиции между двумя слоями. При этом на нижнем уровне может быть одно или несколько полей значений по умолчанию, перегруженных в соответствии с верхним уровнем. В качестве необработанного слоя можно использовать струну.
Каждый пакет может быть собран или проанализирован:
Мы видим, что у рассеченного пакета все поля заполнены. Это потому что каждое поле имеет свое значение, наложенное исходной строкой.
Чтение файлов PCAP.
Вы можете читать пакеты из файла pcap и записывать их в файл pcap.
Библиотека Pcap позволяет создавать программы анализа сетевых данных, поступающих на сетевую карту компьютера. Примером программного обеспечения, использующего библиотеку Pcap, служит программа Wireshark.
Генерация наборов пакетов.
Каждое поле всего пакета (все слои) может быть набором. Это неявно определяет набор пакетов, сгенерированных с использованием своего рода декартова произведения между всеми полями.
Отправка пакетов.
Посмотрим, как их отправить. Функция send () будет отправлять пакеты на уровне 3. Другими словами, она будет обрабатывать маршрутизацию и уровень 2 за вас. Функция sendp () будет работать на уровне 2. Выбор правильного интерфейса и протокола канального уровня зависит от вас. send () и sendp () также вернут список отправленных пакетов, если в качестве параметра передано return_packets = True.
Итог.
В этой статье мы показали принцип работы программы Scapy по генерации, анализированию и отправке сетевых пакетов поговорили о различии UDP и TCP соединений. Рассказали какой протокол соединения будет безопаснее и какой будет выгоднее по скорости.
Источники.
https://scapy.readthedocs.io/en/latest/index.html
https://github.com/secdev/scapy
https://habr.com/ru/post/136844
https://setinoid.ru/types/analiz-kompyuternyih-setey
https://lecturesnet.readthedocs.io/net/low-level/ipc/socket/intro.html
Лора А. Чеппел, Эд Титтел, "TCP/IP. Учебный курс"
Паркер Т., Сиян К., "TCP/IP. Для профессионалов"
Сидни Фейт, "TCP/IP. Архитектура, протоколы, реализация"
Крейг Хант, "TCP/IP — Сетевое администрирование"