Как отслеживать сетевые вызовы, сделанные из iOS Simulator
Я пытаюсь отслеживать вызовы из приложения на мой сервер так же, как Firebug делает.
Я не мог найти способ увидеть это в симуляторе iOS или в xCode.
есть ли способ сделать это без перехвата всего трафика?
Если нет, то какой инструмент вы бы предложили?
9 ответов:
лично я использую Чарльз для такого рода вещи.
При включении он будет отслеживать каждый сетевой запрос, отображая расширенные сведения о запросе, включая поддержку SSL и различных форматов запроса/ответа, таких как JSON и т. д...вы также можете настроить его на обнюхивание только запросов к определенным серверам, а не всего трафика.
это коммерческое программное обеспечение, но есть пробная версия, и IMHO это определенно отличный инструмент.
используйте встроенный прибор для мониторинга сетевой активности.
прокси-сервер man-in-the-middle, как и другие ответы, является хорошим решением, если вы хотите видеть только трафик HTTP/HTTPS. Burp Suite - это очень хорошо. Это может быть боль, чтобы настроить. Я не уверен, как вы убедите симулятор поговорить с ним. Возможно, вам придется установить прокси-сервер на локальном Mac для вашего экземпляра прокси-сервера, чтобы он перехватывал, так как симулятор будет использовать среду вашего локального Mac.
лучшее решение для перехвата пакетов (хотя это работает только для фактический iOS устройства, а не симулятор) я нашел, чтобы использовать
rvictl. этот блог имеет хорошую запись. В основном вы делаете:rvictl -s <iphone-uid-from-xcode-organizer>затем вы нюхаете интерфейс, который он создает с помощью Wireshark (или вашего любимого инструмента), и когда вы закончите, закройте интерфейс с помощью:
rvictl -x <iphone-uid-from-xcode-organizer>это хорошо, потому что если вы хотите, чтобы пакет нюхать симулятор, вам придется пробираться через трафик, чтобы ваш локальный Mac также, но
rvictlсоздает виртуальный интерфейс, который просто показывает вам трафик с устройства iOS, подключенного к USB порту.
инструмент бесплатный и с открытым исходным кодом прокси-сервер, который легко работает на Mac mitmproxy.
веб-сайт содержит ссылки на двоичный файл Mac, а также исходный код на Github.
документы содержат очень полезное введение для загрузки сертификата в тестовое устройство для просмотра трафика HTTPS.
Не совсем так GUI-tastic, как Чарльз, но он делает все, что мне нужно, и его бесплатно и поддерживается. Хороший материал, и довольно простой, если вы использовали какую-то команду линейные инструменты раньше.
обновление: я только что заметил на веб-сайте, что mitmproxy доступен в качестве доморощенной установки. Не может быть проще.
Если у вас есть кабельное соединение и Mac, то есть простой и мощный способ:
установите бесплатный Wireshark, убедитесь, что он может захватывать устройства с помощью (и вам нужно это сделать после каждой перезагрузки компьютера!):
sudo chmod 644 / dev / bpf*
теперь поделитесь своей сетью с wifi. Системные настройки > общий доступ > общий доступ к интернету. Убедитесь, что у вас есть "общий доступ к соединениям из: Ethernet" и использование: вай-Фай. Вы можете также настроить безопасность WiFi, это не мешает мониторинга данных.
Подключите телефон к вновь созданной сети. Мне нужно довольно часто несколько попыток здесь. Если телефон не хочет подключаться, включите wifi Mac, затем повторите шаг 2 выше и будьте терпеливы.
запустить с помощью Wireshark захватить ваш беспроводной интерфейс с помощью Wireshark, это, вероятно, "почтовый индекс EN1". Отфильтруйте необходимые IP-адреса и / или порты. Когда вы найдете интересный пакет, выберите его, щелкните правой кнопкой мыши (контекстное меню) > следуйте потоку TCP, и вы увидите хорошее текстовое представление запросов и ответов.
и что самое лучшее: точно такой же трюк работает и для Android!
- Установить WireShark
- получить ip-адрес от сетевого монитора xcode
- слушайте интерфейс wifi
- установить ip фильтра.addr = = 192.168.1.122 в WireShark
хорошим решением, если вы привыкли к инструментам инспектора chrome, является отладчик Pony:https://github.com/square/PonyDebugger
Это немного больно, чтобы настроить, но как только вы делаете это хорошо работать. Обязательно используйте Safari вместо Chrome, чтобы использовать его.
Xcode обеспечивает ведение журнала диагностики CFNetwork. Apple doc
чтобы включить его, добавьте CFNETWORK_DIAGNOSTICS=3 в переменную окружения
Это покажет запросы из приложения с его заголовками и телом.
Telerik Fiddler-хороший выбор
http://www.telerik.com/blogs/using-fiddler-with-apple-ios-devices
Comments