Berkeley Packet Filter(BPF)是捕获包的内核部分,它还被看作是可以通过接口驱动与网络接口联系的设备驱动程序。BPF由以下部分构成:
1. Network Tap
是一个用于探听网络中所有数据流的函数
2. Filter
是一个过滤器,用于分析所监听到的用户感兴趣的包(用户可将过滤器设置为只接收网络中某一类数据包子集)
WinPcap包含了一个最优化的内核模式驱动——称作Netgroup Packet Filter(NPF),和一套与libpcap兼容的用户级函数库。