我使用以下设置了一个原始数据包套接字:
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
。那么有没有办法使用套接字设置此选项在上面创建?
谢谢一堆。