Я намагаюся відстежувати дзвінки з програми на сервер так само, як це робить Firebug. Я не міг знайти спосіб побачити це в iOS Simulator або в xCode.
Чи є спосіб це зробити, не обнюхуючи весь трафік? Якщо ні, то який інструмент ви б запропонували?
Я намагаюся відстежувати дзвінки з програми на сервер так само, як це робить Firebug. Я не міг знайти спосіб побачити це в iOS Simulator або в xCode.
Чи є спосіб це зробити, не обнюхуючи весь трафік? Якщо ні, то який інструмент ви б запропонували?
Відповіді:
Особисто я використовую Чарльза для подібних речей.
Якщо ввімкнено, він буде контролювати кожен мережевий запит, відображаючи розширені деталі запиту, включаючи підтримку SSL та різних форматів запиту / відгуку, наприклад, JSON тощо.
Ви також можете налаштувати його, щоб нюхати лише запити на конкретні сервери, а не весь трафік.
Це комерційне програмне забезпечення, але є пробна версія, і IMHO, безумовно, чудовий інструмент.
Проксі-посередник-проксі, як це пропонується іншими відповідями, є хорошим рішенням, якщо ви хочете бачити лише трафік 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-смачний, як у Чарльза, але він робить все, що мені потрібно, і його безкоштовно, і підтримувати. Хороший матеріал і досить простий, якщо ви раніше використовували інструменти командного рядка.
ОНОВЛЕННЯ: Я щойно помітив на веб-сайті, що mitmproxy доступний як домашня установка. Не може бути простіше.
Xcode забезпечує діагностичний журнал CFNetwork. Apple док
Щоб увімкнути це, додайте CFNETWORK_DIAGNOSTICS=3
в розділ Змінна середовища:
Це покаже запити програми з його заголовками та тілом. Зверніть увагу, що OS_ACTIVITY_MODE
потрібно встановити, enable
як показано. Інакше на консолі не відображатиметься жоден вихід.
Виберіть свій інтерфейс
Додати filter
початокcapture
Клацніть будь-яку дію або кнопку, яка викликала б GET / POST / PUT / DELETE запит
Ви побачите це, перелічене в розділі проводів
Якщо ви хочете дізнатися більше деталей про один конкретний пакет, просто виберіть його та слідуйте> HTTP Stream .
сподіваюся, що це допоможе іншим !!
Якщо у вас є кабельне підключення та Mac, то існує простий і потужний метод:
встановіть безкоштовний Wireshark, переконайтеся, що він може захоплювати пристрої за допомогою (і це потрібно робити після кожного перезавантаження комп'ютера !):
sudo chmod 644 / dev / bpf *
Тепер діліться своєю мережею з wifi. Налаштування системи> Обмін> Інтернет-обмін. Переконайтеся, що у вас є "Поділитися своїми з'єднаннями з: Ethernet" та використовуючи: Wi-Fi. Ви також можете налаштувати деяку безпеку Wi-Fi, це не порушує моніторинг даних.
Підключіть телефон до новоствореної мережі. Тут мені досить часто потрібно кілька спроб. Якщо телефон не хоче підключатися, поверніть wifi Mac, повторіть крок 2 вище і будьте терплячі.
Почніть Wireshark захоплювати ваш бездротовий інтерфейс з Wireshark, це, мабуть, "en1". Фільтруйте потрібні IP-адреси та / або порти. Коли ви знайдете цікавий пакет, виберіть його, клацніть правою кнопкою миші (контекстне меню)> Слідуйте за потоком TCP, і ви побачите гарне представлення тексту запитів та відповідей.
І що найкраще: точно такий же трюк працює і для Android!
Телерік Фіддлер - хороший вибір
http://www.telerik.com/blogs/using-fiddler-with-apple-ios-devices
Хорошим рішенням, якщо ви звикли до інструментів хромованого інспектора, є налагоджувач Pony: https://github.com/square/PonyDebugger
Налаштування трохи не болить, але як тільки ви це зробите, ви працюєте добре. Не забудьте використовувати Safari замість Chrome, щоб використовувати його.
Я використовую netfox. Це дуже просто у використанні та інтеграції. Ви можете використовувати його на тренажері та пристрої. Тут відображаються всі запити та відповіді. Він підтримує JSON, XML, HTML, зображення та інші типи відповідей. Ви можете обмінюватися запитами, відповідями та повним журналом за форматами обміну за замовчуванням IOS (Gmail, WhatsApp, електронна пошта, слабкий доступ, SMS тощо).
Ви можете перевірити на GitHub: https://github.com/kasketis/netfox
Netfox забезпечує швидкий перегляд усіх виконаних мережевих запитів, виконаних вашим додатком iOS або OSX. Він захоплює всі запити - звичайно, ваші, запити від сторонніх бібліотек (наприклад, AFNetworking, Alamofire чи іншого), UIWebViews тощо