gpt4 book ai didi

c - ARM-linux4.3.2,无法打开PF_PACKET类型的socket

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:30:23 24 4
gpt4 key购买 nike

我将 FriendlyARM 与 linux 2.6.29 一起使用,并使用 ARM-Linux GCC 进行编译4.3.2

当尝试使用 PF_PACKET 打开套接字时失败,错误号为 97,地址协议(protocol)不支持的系列。

这是一个说明问题的示例程序 -

 #include <stdio.h>
#include <sys/socket.h>
#include <netpacket/packet.h>
#include <net/ethernet.h>
//#include <linux/if_packet.h>
//#include <linux/if_ether.h>
#include <errno.h>

int main() {
int sockfd = socket(PF_PACKET, SOCK_RAW, htons(ETHER_TYPE));
if (sockfd < 0)
perror("Can't open socket");
}

知道为什么会这样吗?

提前致谢

奥伦

编辑:我尝试过的事情 -

  1. 确保我以 root 身份运行

  2. 在 linux 2.6.27.7-9-pae 和 intel 机器下编译,在它下工作正常 (gcc 4.4.1)

  3. 下面的帖子表明它与 linux 版本有关,但基于以上我认为它可能是其他原因。 link text

最佳答案

您的内核配置中是否定义了 CONFIG_PACKET?这是 AF_PACKET 所必需的。

关于c - ARM-linux4.3.2,无法打开PF_PACKET类型的socket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3297005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com