fragmentação de pacotes udp para soquetes brutos
Acompanhamento da perguntafragmentação de pacotes para soquetes brutos
Se eu tiver um soquete bruto implementado como tal:
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;
};
como posso definir oipHdr-> fragment_offset (16 bits, incluindo sinalizadores de 3 bits) se eu tiver um pacote de tamanho 1756 (não incluindo o cabeçalho IP)?
Preciso preparar dois pacotes, um do tamanho 1480 e outro do tamanho 276 e, em seguida, colocar cabeçalhos IP nos dois pacotes?
Alguém pode apontar para um código de exemplo para isso?