iptablesxt_bpf
扩展可用于访问辅助数据包数据,例如有效负载长度。扩展xt_u32
程序在某种程度上也可以做到这一点。我知道 nftables 支持长度元选择器,但是原始负载表达式仅支持固定偏移量或第 2、3 或 4 层标头的基础。有什么方法可以在可变偏移量处执行匹配,例如仅使用 nftables 来匹配 SNI?由于这是一个资源极其有限的嵌入式系统,因此同时使用 nftables 和 iptables 并不理想。
如果可能的话,我宁愿不使用libnetfilter_queue
或任何其他将决策传递给用户空间的东西。过滤应该完全发生在内核中。