Как вы знаете, пакет можно описать так:
packet = ip_header + tcp_header + user_data
И мы уже знаем, что уровни OSI выглядят так:
Physical layer
Data Link
Network (IP header)
Transport (TPC header)
Application
У меня уже есть коддля заголовков IP и заголовков TCP.Я могу создать любой код для приложения EMAIL или приложения FTP, например.Но вопрос: как я могу связать код приложения с сетевыми заголовками?так что теперь предположим, что «s» - это необработанный сокет, который я уже создал.
Теперь я полагаю, что должен отправить его.В Python это будет выглядеть так:
s.sendto(packet, (dest_ip , 0 ))
, и учитывая, что пакет имеет вид:
packet = ip_header + tcp_header + user_data
Пользовательские данные (то есть приложение) могут быть приложением FTP, приложением электронной почты, но это может быть длиной 5000 байт.Как я могу "отправить" это?Я просто не представляю это как часть пакета.Поместить весь код FTP между кавычками?это звучит смешно.Это моя недостающая ссылка.
(Вот вопрос. Как я могу подключить его к необработанным заголовкам, которые я создал, и запустить весь процесс? Да, я хочу, чтобы он работал на сырых сокетах
Спасибо