Как контролировать сетевую активность из приложения? - PullRequest
10 голосов
/ 26 мая 2011

Я пытаюсь отслеживать сетевую активность на моем iPhone из приложения, которое я разрабатываю. Поддерживает ли iOS команду, похожую на netstat, или что-то подобное, что может сказать мне, какие активные входящие и исходящие соединения активны?

Ответы [ 3 ]

10 голосов
/ 06 марта 2012

После некоторых поисков я нашел код Apple, используемый для netstat .

Все, что вам нужно в функции void protopr(uint32_t proto, char *name, int af).

Я тестировал на устройстве и sysctlbyname("net.inet.tcp.pcblist_n",...) работает.

Это должно быть все, что вам нужно.

2 голосов
/ 06 марта 2012

Я не могу проверить это, но из того, что я понял, вам придется использовать sysctl в сочетании с sysctlnametomib или, альтернативно, sysctlbyname для этого:

sysctlbyname("net.inet.tcp.pcblist", ...)

и / или

sysctlbyname("net.inet.udp.pcblist", ...)
0 голосов
/ 07 мая 2015

Вы можете использовать Burp Suite для этой цели, этим вы можете проверить все данные http, проходящие через ваш телефон.Вы должны установить это на своем компьютере Mac / Ubuntu / Windows, а затем создать прокси-сервер с помощью этого инструмента, а затем изменить настройки Wi-Fi в телефоне Iphone / Android, чтобы использовать ваш компьютер в качестве прокси, а затем он будет захватывать всетрафик ввода / вывода.

Прочитайте полную инструкцию здесь - http://www.engadget.com/2011/02/21/how-to-inspect-ioss-http-traffic-without-spending-a-dime/

...