注册的netfilter挂钩可以从linux内核获取数据包。这里linux内核获取数据包,查找已注册的挂钩,并将数据包传递给它们。
一般流程如下: 1. NIC接收帧 2.将其放入DMA rx环中 3.内核的网络子系统从DMA rx环中获取它。
但是有没有办法在进入linux网络子系统之前获取数据包(可能是一个重要的术语,我的意图是首先获取数据包的内核网络代码)。也就是说,我的驱动程序应该在进入linux网络堆栈之前获取数据包。
我是一名学习者,并试图编写一段代码来处理内核中的数据包处理。
如果错误请纠正我的理解,并帮助我提供好的阅读指示。
答案 0 :(得分:1)
只需修改网卡NIC卡驱动程序?是第一个获得ISR的人。你应该能够在那里过滤它。