gpt4 book ai didi

c - 在Linux中接管以太网数据

转载 作者:行者123 更新时间:2023-11-30 17:50:28 25 4
gpt4 key购买 nike

我的任务是在 Linux 以太网数据链中寻找合适的接管点。

我从不同的角度看过它。我已经成功编写了NetFilters。但我真正寻找的是插入代码的最佳位置,以便我直接从驱动程序接收代码——无需修改驱动程序,并希望保持“Linux 友好”。 (我并不反对敌意收购,但我正在努力避免它。)

我希望能够有以下选项:完全接管所有 IP,或取消 TCP(可能是我不想遍历 Linux 堆栈的专有连接),或取消其他协议(protocol)或连接。 (我不是指中间连接。)

例如:TCP SYN 来 self 识别的 IP 地址。我希望在 Linux 堆栈不知道消息传入的情况下进行响应和通信。我希望在网络过滤器不获取消息副本的情况下发送消息。

我不想承担 Linux 堆栈提供的所有伟大事物的负担,但我也不希望任何过滤器看到我的专有消息。

查看大量内核代码后,我得出的结论是更改驱动程序可能更容易(在本例中为 r8169.c)。但我更愿意找到那个“最佳点”,在那里我可以通过我的内核模块进行窥视/戳/刺激/强制,并创建一条链,让我永远是第一个。

有人知道“最佳位置”可能在哪里吗?

最佳答案

如果您使用 RAW 协议(protocol)打开标准套接字,我相信这会阻止数据向上传递到 TCP/IP 层。这将允许您检查以太网数据包并做出响应,但我认为它不允许您将数据包放回到堆栈中以使其进一步向上。

关于c - 在Linux中接管以太网数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17262729/

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