LINUX.ORG.RU

Создать пакет на уровне TCP «с нуля», в IPv4 задать IP-адрес получателя и идентификатор. С помощью чего реализовать?

 ,


3

2

Надо создать пакеты на уровне TCP с редактированием всех заголовков. Также на IPv4 нужно задать идентификатор и IP-адрес получателя(все остальные заголовки на уровне IPv4 и ниже будут генерироваться самостоятельно). Хотя если таких инструментов нет, то могу создавать пакеты «с нуля». Как и с помощью чего можно это реализовать? Никогда раньше не работал на таком уровне с интернетом.

Желательно было бы на Python это все сделать, но если он не имеет для этого инструментов, то могу использовать C++.



Последнее исправление: letni (всего исправлений: 1)

Надо создать пакеты на уровне TCP

man 7 packet, но лучше использовать PCAP. Если нужно очень много, есть pktgen.

Если нужно писать полноценный диагностический софт — посмотри на DPDK. DPDK — набор очень хороших *юзерспейс* библиотек, ядерную часть можно вообще не собирать и работать через тот же PCAP, TUN/TAP или собственные велосипеды.

Примерно те же функции выполняет инфрастуктура ntop, но там проприетарщины больше.

Только, учти. Ты теперь «сами с усами» и конечный автомат TCP реализовывать именно тебе, как и защищать сетевой стек линукса от левых с его точки зрения пакетов: либо фильтром на адаптере, либо через netfilter.

anonymous
()

И теорию немного почитай. Рекомендую третий том Стивенса.

cvv ★★★★★
()
Ответ на: комментарий от Novel

А ты не в курсе, в win7+ это можно реализовать? Погуглил, win7 «ограниченно поддерживает сырые сокеты», но библиотека socket кроссплатформенна.

letni
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.