将数据包注入linux内核以模拟以太网数据包到达的最佳方法

时间:2012-12-18 09:19:09

标签: linux networking linux-kernel

我正在为一些隧道活动编写linux内核模块。该模块将从网络堆栈获取数据包并对其执行一些操作。从底部将数据包注入堆栈的最佳方法是什么(模拟以太网数据包到达线路),以便数据包遍历整个接收路径并传送到我的模块。

我的模块使用内核br_handle_frame_hook挂钩来获取数据包,这意味着它不能与Linux本机bridge模块共存。任何想法将不胜感激。

3 个答案:

答案 0 :(得分:3)

考虑使用NetFilter

http://www.phrack.org/issues.html?issue=61&id=13

如果你在用户空间工作,那么TAP会很棒,你不是

答案 1 :(得分:1)

我相信你正在寻找TAP设备 - 从用户空间发送/接收以太网数据包的好方法

答案 2 :(得分:-1)

我建议在我面前点击@raber。我还建议您阅读这个excelet教程:http://backreference.org/2010/03/26/tuntap-interface-tutorial/

您询问是否可以非编程方式进行点击,然后重播流量。答案是肯定的。寻找'持久性'选项(如果您不想下载已经可以执行此操作的工具,也可以使用您自己编写的简短工具以编程方式进行编程)。您可能还需要/需要定义可能使用点击的用户(或者只是对您的操作进行操作)。