Я пытаюсь отслеживать сетевую активность на моем iPhone из приложения, которое я разрабатываю. Поддерживает ли iOS команду, похожую на netstat, или что-то подобное, что может сказать мне, какие активные входящие и исходящие соединения активны?
После некоторых поисков я нашел код Apple, используемый для netstat .
Все, что вам нужно в функции void protopr(uint32_t proto, char *name, int af).
void protopr(uint32_t proto, char *name, int af)
Я тестировал на устройстве и sysctlbyname("net.inet.tcp.pcblist_n",...) работает.
sysctlbyname("net.inet.tcp.pcblist_n",...)
Это должно быть все, что вам нужно.
Я не могу проверить это, но из того, что я понял, вам придется использовать sysctl в сочетании с sysctlnametomib или, альтернативно, sysctlbyname для этого:
sysctl
sysctlnametomib
sysctlbyname
sysctlbyname("net.inet.tcp.pcblist", ...)
и / или
sysctlbyname("net.inet.udp.pcblist", ...)
Вы можете использовать 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/