Sie erhalten eine BPF Gerät zu öffnen auf iOS nicht in der Lage sein - standardmäßig XNU erstellt BPF Geräte mit Berechtigungen rw ------- im Besitz von root, so auch wenn ein Prozess läuft in einer Sandbox (die alle Nicht-Apple iOS-Anwendungen - und wahrscheinlich die meisten Apple iOS-Anwendungen - auf einem nicht-jailbroken iOS-Maschine sind) erlaubt Dateien in /dev
zu öffnen , Ihr Programm kann den Netzwerkverkehr nicht erfassen.
Ich denke auch Sandbox-Anwendungen nicht auf fork und exec oder posix_spawn()
beliebige Programme zugelassen werden, so dass Ihre Anwendung wäre wahrscheinlich nicht in der Lage sein, tcpdump als Programm laufen zu lassen - es ist sogar ausgeliefert mit iOS davon aus, das es nicht sein könnte .
Sie könnten tcpdump-Code in Ihre Anwendung integrieren, aber ohne in der Lage zu sein, Traffic zu erfassen, ist alles in der Lage, vorhandene Captures zu lesen, und das ist wahrscheinlich einfacher auf Ihrem Mac.
Das ist also wahrscheinlich ein Projekt von Interesse nur auf einem jailbroken Computer.