首页 > 解决方案 > 当我尝试将数据包写入 linux 上的 TAP 设备时,为什么会出现 errno 5?

问题描述

当我尝试使用 将BOOTP请求数据包写入tun设备文件描述符时write(2),我得到errno 5. 任何想法为什么?我已经检查过IP-level 和UDP-level 校验和是否正确。该程序能够ARP使用write(2). 我试过以root身份运行它,出现同样的问题。

test: output packet: ff.ff.ff.ff.ff.ff.0a.f7.1f.f8.08.02.08.00.45.00.01.48.00.00.00.00.40.11.79.a6.00.00.00.00.ff.ff.ff.ff.00.44.00.43.01.34.05.88.01.01.06.00.be.ba.fe.ca.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0a.f7.1f.f8.08.02.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.
write: errno=5

标签: linuxnetwork-programming

解决方案


发现了问题。要发送IP数据包,tap接口必须配置一个IP地址。


推荐阅读