raw ソケットの質問パケット フラグメンテーションのフォローアップ
そのように実装された生のソケットがある場合:
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;
};
サイズが 1756 (IP ヘッダーを含まない) のパケットがある場合、どうすればipHdr->fragment_offset (3 ビット フラグを含む 16 ビット)を設定できますか?
サイズ 1480 とサイズ 276 の 2 つのパケットを準備し、両方のパケットに IP ヘッダーをスラップする必要がありますか?
誰でもこれのサンプルコードを指摘できますか?