#android-emulator #fiddler #network-traffic #play-billing-library
Вопрос:
Я пытался захватить сетевой трафик с помощью скрипача, заполненного из биллинговой библиотеки Google Play, которая настраивается в моем приложении, размещенном внутри эмулятора Android.
Каждый раз, когда я устанавливаю соединение с Google Play и инициирую поток покупок, IP-адрес Google Play регистрируется в fiddler вместо точного URL-адреса. Пожалуйста, проверьте скриншот ниже
Не могли бы вы, пожалуйста, подсказать, как получить точный URL-адрес вместо IP-адреса в столбце URL в Fiddler?
Ответ №1:
Причина, по которой вы видите только IP-адреса, заключается в том, что на вашем устройстве Android вы включили функцию частного DNS.
Если это включено, Android сначала устанавливает зашифрованное соединение с DNS-сервером и запрашивает IP-адрес доменного имени, к которому приложение хочет подключиться. Затем на втором этапе он устанавливает соединение через прокси-сервер, используя уже известный IP-адрес вместо имени хоста DNS.
Вы можете отключить его в настройках Android -> >Сеть и Интернет -> >Дополнительно -> >Частный DNS
После этого вы должны увидеть в запросах на ПОДКЛЮЧЕНИЕ целевое доменное имя (запросы на ПОДКЛЮЧЕНИЕ всегда содержат только доменное имя, а не полный URL-адрес).
Если вы правильно включили перехват https, вы можете впоследствии увидеть URL-адреса HTTPS. Обратите внимание, что Google часто использует закрепление сертификатов в своих приложениях и библиотеках. Поэтому вы можете не видеть никаких запросов, если закрепление сертификата используется используемыми библиотеками Google. В таком случае вы можете попытаться отключить закрепление сертификата, подключив Frida/Возражение к вашему приложению, и отключить код закрепления сертификата в используемых библиотеках Google. Возражение содержит некоторые модули для этого, но я никогда не использовал их в клиентских библиотеках Google.
В качестве альтернативы на корневом устройстве Magisk вы можете установить дополнение EdXposed trustMeAlready, которое отключает проверку сертификатов и закрепление для большинства приложений и служб на устройстве.