I'm trying to implement a packet sniffer similar to Charles for iOS using iOS's NetworkExtension framework.
Objective
So, that's a big goal and I'm breaking it down into a tiny piece right now: I want to see the os_log
from my NEPacketTunnelProvider
(bottom box in diagram)
What I have done so far
- I have created a NetworkExtension target on type PacketTunnel. This is the code snippet in the 3rd box in the diagram titled "NEPacketTunnelProvider".
- I have included the "app groups", "personal VPN", and "Network extension" capabilities from within XCode.
Question
I am looking in the Console.app to see the output from os_log("STARTING TUNNEL!!!!")
. When I load the configuration and make the call to startVPNTunnel()
, why is my TunnelProvider code never called?
I have verified that startVPNTunnel()
is being called by placing a breakpoint in my code.