我正在尝试编写一个简单的程序,该程序从接口获取数据包并在 Linux 内核级别打印出其目标和源 MAC 地址。这是我第一个使用 Linux 内核的项目,我已经阅读了很多关于 netdevice、loopback 和 skbuff 的源代码和书籍。现在,从我到目前为止所学到的 skbuff 看起来像放置数据包数据的位置,但我看不到网络设备驱动程序如何从接口获取数据包并将它们放入 skb 或如何获得与特定接口相关的 skb。
有人可以告诉我如何看待 skb 与 eth0 等网络设备的链接吗?是否需要某种发送和接收环来接它们?
一些示例代码会很棒!做不到这一点,如果有人可以指向某个源代码(不仅仅是文件名......行号和函数名会很棒)。
抱歉,如果这是一个模糊的问题,我已尽我所能进行研究。提前致谢。