【发布时间】:2020-03-10 22:45:01
【问题描述】:
我需要编写一个位于两台服务器之间的应用程序,并通过向每个数据包添加特定的 HTTP 标头来修改从一台服务器发送到另一台服务器的 HTTP 数据包。
显然它必须尽可能快地完成,我发现通过使用 eBFP 和 XDP,我可以捕获具有高性能的数据包,但据我所见,XDP 的判断是 abort、drop、pass 和发送。
使用 tx 判决我可以将捕获的数据包发送到用户空间程序来修改它,但是我不知道如何在标头修改后发送数据包?这段视频here 解释了使用 eBPF 和 XDP 可以做什么,它说可以做到,但我不知道如何做。
任何帮助将不胜感激。
【问题讨论】:
-
你发现了什么吗?我可能有几个输入。
-
@Aif 不,我没有发现任何有用的东西。
标签: linux linux-kernel packet-capture packet-injection