Мониторинг SSL-трафика с Android-девайса без рута
Для начала нужно установить программку на свой телефон - Packet Capture. Программа является прокси-сервером, в котором для мониторинг SSL-траффика используется аттака "Man in the Middle". В программу добавляется подставной сертификат, который для клиента считается доверенным. А сам прокси-сервер устанавливает две независимсые SSL-сессии, анализируя дешифрованные данные. А рут не нужен потому, что приложуха использует VPNService, доступный с Android 4.0. С помощью такого прокси можно анализировать работу различных REST API, которые ходят по https протоколу. Например, мне понадобилось починить музыкальное API ВКонтакте для VkAudioSaver.
![Packet Capture VK API](http://bingosoft.info/images/packet-capture-vk-api.png)
Пожалуй, самым трудоемким шагом во всей этой истории будет генерация подставного сертификата. Для этого используются утилита openssl
.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout cert.key -out cert.crt
sudo openssl pkcs12 -export -out cert.pfx -inkey cert.key -in cert.crt -certfile cert.crt -name "cert" -caname "cert"
Далее вводим пароль нового сертификата, получившийся файл cert.pfx
. Его синхронизируем с устройством и затем в настройках программы добавляем сгенерированный самоподписанный сертификат. В диалговом окне импорта в поле алиас пишем "cert" и пароль. Затем добавляем сертификат в "Trusted credentials". Запускаем сниффинг запросов.
Доне.