我正在linux
为一些隧道活动编写一个内核模块。该模块将从网络堆栈中获取数据包并对其执行一些操作。从底部将数据包注入堆栈的最佳方法是什么(模拟以太网数据包到达线路),以便数据包遍历整个接收路径并传递到我的模块。
我的模块使用内核br_handle_frame_hook
挂钩来获取数据包,这意味着它不能与 linux 本机bridge
模块共存。任何想法将不胜感激。
我正在linux
为一些隧道活动编写一个内核模块。该模块将从网络堆栈中获取数据包并对其执行一些操作。从底部将数据包注入堆栈的最佳方法是什么(模拟以太网数据包到达线路),以便数据包遍历整个接收路径并传递到我的模块。
我的模块使用内核br_handle_frame_hook
挂钩来获取数据包,这意味着它不能与 linux 本机bridge
模块共存。任何想法将不胜感激。
我相信TAP设备是您正在寻找的 - 一种从用户空间发送/接收以太网数据包的好方法
我建议在我之前像@raber 一样点击。我还建议阅读此 excelet 教程:http ://backreference.org/2010/03/26/tuntap-interface-tutorial/ 。
您询问是否可以以非编程方式进行点击,然后将流量重播到其中。答案是肯定的。寻找“持久性”选项(顺便说一句,如果您不想下载已经可以做到的工具,也可以使用您可以自己编写的简短工具以编程方式完成)。您可能还希望/需要定义可能使用水龙头的用户(或者只是 sudo 您的操作)。