linux - 当我尝试将数据包写入 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
解决方案
发现了问题。要发送IP
数据包,tap
接口必须配置一个IP
地址。
推荐阅读
- css - 在移动设备中重新定位 div
- node.js - 如何使用异步等待使用谷歌地图节点api
- sqlite - SQLite:字符串自动转换为字符串列中的整数
- apache-zookeeper - Apache Curator GroupMember 如何获取完整的成员集?
- c++ - 使用 superLU 安装犰狳 9.2
- php - 如何使用mysql计算满足两个条件的列的所有值?
- visual-studio - 安装 Microsoft Viual Studio 社区版 v2017 时出现问题
- android - 为每个 GridLayout 正方形添加分隔线和波纹效果
- spring - java - 如何在java spring中获取自定义对象?
- python - Flask Redirect 仅在刷新页面时有效