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