一、场景:
iptables处置目标,是内核态与用户态通信时的一个钩子点,类似bpf的很多钩子点,使用在老系统的(内核2.6.X,内核3.10.X的版本),4.18以后建议使用ebpf
二、与ebpf关系:
功能类似,但是处理流程NFQueue会传递到用户态处理,ebpf是编译后注入到ebpf内置钩子点运行;性能ebpf更好
三、与libpcap、pf-ring关系
libpcap、pfring是网络抓包,应该在更底层,从网上看资料发现有libpcap基于nfqueue实现的,比如:
libpcap/pcap-netfilter-linux.c at master · the-tcpdump-group/libpcap · GitHub
未通读netfilter的源码,与nflog的使用场景还需要进一步研究