yusufonlinux.blogspot.com
лжение вопросафрагментация пакетов для необработанных сокетов
Если у меня есть необработанный сокет, реализованный так:
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-> fragment_offset (16 бит, включая 3-битные флаги), если у меня есть пакет размером 1756 (не включая заголовок IP)?
Нужно ли мне подготовить два пакета - один размером 1480 и другой размером 276, а затем добавить заголовки IP для обоих пакетов?
Кто-нибудь может указать пример кода для этого?