PF_PACKET创建失败?难道内核不支持?
sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP))
在2.6.18的虚拟机里跑没有问题 可以接收到很多的数据包
下载到arm板后创建socket这一步就失败了
做了实验:把PF_PACKET换成AF_INET可以,但是接收不到数据包。。。。。
怎么办啊?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
斑竹 大侠 神人 都出那里了啊
出错信息是什么
内核需要支持的,可以在内核选项中,选中网络部分相关的设置,我以前帖子里面也有
也可以加载一个pf_packet.ko这个驱动来解决问题
楼上两位大侠能说的详细点么?
内核选项具体是那一个?
是不是 Device ——Networking——pack socket
这一项?
加驱动又怎么加? 是加入这个文件从新编译么?
出错信息就是返回值是-1.。。。创建socket失败
pf_packet.ko这个文件找不到嘛
失败后,打印 strerror(errno),看看具体报错信息是什么?定位一下问题?
谢谢大家 我在驱动选项里加了PF_PACKET这个选项,重新编译内核后问题解决了。。。。