9.5 小结
WinPcap提供非常有效的过滤方法去获取网络流量中的某些数据包,这也是WinPcap捕获机制中的一个重要组成部分。WinPcap的过滤功能直接源自BPF(BSD Packet Filter)。
本章分析了数据包过滤的实现原理,并使用WinPcap演示了数据包的过滤功能,同时结合WinPcap源代码,对网络分析中如何设计与实现高效率数据包过滤进行了深入分析。
WinPcap过滤器实现的最基本的过程,就是把用高级语言描述的过滤表达式编译成汇编指令(字节码),然后通过JIT编译器生成能够直接在x86平台下通过硬件直接执行的机器码。