Продолжение вопроса Фрагментация пакетов для необработанных сокетов
Если у меня реализован необработанный сокет следующим образом:
if ((sip_socket = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) < 0)
{
cout << "Unable to create the SIP sockets."<< sip_socket<<" \n";
return -3;
}
if ( setsockopt(sip_socket, IPPROTO_IP, IP_HDRINCL, &one, sizeof(one)) == -1)
{
cerr << "Unable to set option to Raw Socket.\n";
return -4;
};
как установить ipHdr-> frag_offset (16 бит, включая 3-битные флаги), если у меня есть пакет размером 1756 (не включая заголовок IP)?
Нужно ли подготовить два пакета - один размером 1480 и другойразмером 276, а затем ударить заголовки IP на обоих пакетах?
Кто-нибудь может указать пример кода для этого?