以下を使用して raw パケット ソケットをセットアップします。
sockFd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL) );
次に、次を使用してソケットオプションを設定しようとしていますIP_HDRINCL
:
int one = 1;
if (setsockopt (sockFd, IPPROTO_IP, IP_HDRINCL, &one, sizeof(one)) < 0)
LogPrint(LOG_UNKNOWN,"Warning: Cannot set HDRINCL!\n");
しかし、このオプションを設定できません ( errno
92 のエラーと「プロトコルが利用できません」というメッセージが表示されます。変更PF_PACKET
するとPF_INET
、オプションが設定されますが、使用する必要がありますPF_PACKET
。ソケットでこのオプションを設定する方法はありますか?上で作成?
本当にありがとう。