My approach worked too. However it relies on the private interfaces of
NetworkExtension framework, which we’d probably want to avoid.
In short it can be expressed in one line as:
let fd = packetFlow.perform(Selector("interface")).toOpaque().advanced(by:
0x128).assumingMemoryBound(to: Int32.self).pointee
But I bet that walking over fds is much safer.
Cheers,
Andrej
> On 11 Jun 2021, at 10:50, Jason A. Donenfeld <[email protected]> wrote:
>
> Can I infer from that that your technique didn't work? Some
> confirmation one way or another there would be useful, so I know
> whether to dedicate some RE time next week to it or not. If I can
> avoid the fd iteration, I'd prefer that.
>
> Jason