将数据包从内核空间绕过到用户空间

时间:2017-08-29 15:13:06

标签: linux-kernel netfilter

我正在尝试在linux机器上模拟tcp accleration算法。根据我的理解,我必须绕过内核网络堆栈并将接收数据包中继到我的自定义代码。我目前正在寻找netfilter挂钩拦截数据包,但我不明白如何将数据包传递给用户空间。你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

我建议你看一下Linux内核中提供的PACKET_MMAP工具,并允许在映射到用户空间的循环缓冲环上构建数据包接收。链接上的文档是某种详尽的,并且还存在各种示例,例如 libpcap