It looks like NEFilterPacketProvider can intercept packets on interfaces with Ethernet and Raw IP link-layer only. Other interfaces I tested on Catalina, e.g. one with BSD loopback link-layer and with PPP link-layer, don't seem to be available for interception. So, it'd be great to mention in Apple Developer Documentation which data link-layer types this provider supports.
Meanwhile good news is that NEFilterPacketProvider could intercept traffic from NETunnelProvider as it makes use of a virtual interface with Raw IP link-layer. But other VPN clients, like PulseSecure or built-in LT2P/IPsec VPN, can't be intercepted. I guess this provider has serious security limitations because users may bypass it by running VPN clients.
Topic:
App & System Services
SubTopic:
Networking
Tags: