gpt4 book ai didi

c - 如何从 linux tun/tap 中逐个读取数据包

转载 作者:IT王子 更新时间:2023-10-29 01:27:03 30 4
gpt4 key购买 nike

我已使用

连接到现有的 Tap 设备
fd = open(...)

现在我想逐包读取它。如果我使用

read(fd,buffer,sizeof(buffer));

我不会准确读取 1 个数据包。

我怎样才能准确读取 1 个数据包?是否有某种 header 说明数据包长度,或者在最坏的情况下,我将不得不自己解析数据包并计算长度?

最佳答案

我错了 read() 从 tap 设备读取字节的方式。事实证明,当我使用 read() 时,它正好读取 1 帧,(如果 n 小于帧大小,则为 n 字节)

关于c - 如何从 linux tun/tap 中逐个读取数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18461365/

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