![]() |
Вопрос по сырым сокетам
Вот нашел пару примеров http://komsoft.ru/pma/gen_packet.htm
http://milw0rm.com/exploits/1599 с сырыми сокетами.Но вот только все никак немогу понять каким местом и на какое крепятся все эти struct igmphdr struct ip_header struct udp_header и подобные к сокету :confused: :confused: Обьясните плиз кто знает. |
они не к нему не крепятся... это структуры для разбора пакетов... заполнили и отправил пакет... и также принимать... кароч чтоб удобней было... канеш если ты все протоколы знаешь на изусь то можно просто вручную писать типа buf[]="\0x2\0x23.... так вот чтоб этого не делать и созданы эти структуры... знаю что не оч понятно объяснил, сорь : D
|
у каждого пакета есть IP заголовок - ip_header. это типа реализация IP протокола. на его основе может быть реализован более высокоуровневый протокол. например udp. таким образм получается след:
ip_header udp_header или, скажем, tcp: ip_header tcp_header по сути дела структуры в буффере идут друг за другом. на практике лучше выделить буффер. указатель на начало буффера - указатель на структуру ip_header. затем указатель на структуру upd_header... Код:
char packet[256]; |
А куда пихать данные которые к примеру нужно передать через Udp пакеты,и какой максимальный обьем данных можно передать в одном пакете транспортного протокола(к примеру того же Udp)?
|
протокольные пакеты вкладываются друг дружке в поле данных как МАТРЕШКА!
данное действие называется ИНКАПСУЛЯЦИЕЙ. Вопрос должен все таки содержать информацию о том что ты собираешься делать разбирать пакеты на составляющие либо собираешься их собирать(КРАФТИТЬ) но в любом случае начинать освоение следует с переводных rfc которые лежат на citforum.ru ....... теперь осталось сразу раставить точки ! Если собираешься работать слишком низко и разбирать даже ethernet пакеты , то забудь о RAW-socket , роусокеты ввели в w2k и постоянно пытаются заблокировать (они как правило не пропускают пакеты(ioctlsock) если нет приложения готового их обработать, поэтому снифинг будет урезанный.... крафтинг так же будет урезанный) Поэтому WinPcap тебе в руки!!! ЭТО НЕ RAW_SOCKET!!! Почуствуешь себя человеком -100%! По поводу максимального размера пакета для UDP ! Поскольку UDP пакеты не поддерживают дефрагментацию, то то что пошлешь то и получат ( на этом были построены первые Nuker-Ы. Модемы падали как яблоки , побеждал тот у кого скорость больше!) |
| Время: 04:52 |