Предварительная декларация
Есть несколько вопросов по поводу трафика приложений для Android
Как захватить трафик приложений на Android
Но их цели capture
не capture and decrypt
Я хочу расшифровать Android-приложение (называется сиденье) TLS-трафик
У меня Windows 10 Pro, Android 8.0 (с полным набором поддерживаемых iptables)
seat использует соединения TLS с 202.194.76.30:8443
, я не знаю, какой протокол прикладного уровня он использовал.
Может быть, он использует HTTP (я использовал httpie cli для тестирования API, http --verify no https://seat.ujn.edu.cn:8443/auth/signIn
, ответ http
)
Но я уверен, что он использует TLS
Мое решение:
- force seat использует http proxy, для этого я использую ProxyDroid, он конвертирует все tcp соединения в http proxy (http CONNECT)
- ProxtDroid перенаправляет трафик приложений на мой компьютер (192.168.137.1), где mitmproxy прослушивает 9090
- mitmproxy выводит все TLS
master key
в mitsslog.log
, используя MITMPROXY_SSLKEYLOGFILE
env variable
- Я использую wireshark для расшифровки TLS, читаю главный ключ TLS с
mitsslog.log
Но проблема в том, что сиденье не использует прокси
Я использую tcpdump на Android для захвата всего трафика на 202.194.76.30, как вы можете видеть, приложение для сидений не использует мой прокси!
Я могу захватывать трафик приложений для Android, но не могу его расшифровать.
Вот таблицы android nat
Моя конфигурация ProxyDroid
Я искал три дня, я прочитал все документы по mitmproxy.
Ни один из них не работает. Единственный оставленный путь - попросить помощи stackoverflow-ers.
mitmproxy говорит мне, что вы можете использовать прозрачный, но Windows 10 не поддерживает функцию маршрутизации netsh. поэтому я не могу использовать NAT
Я пытался использовать virtualbox, но я использую hyper-v из-за Docker для Windows. Я не могу использовать другую виртуальную технологию
Я пришел сюда, чтобы попросить вас о помощи. Я постараюсь дать вам более подробную информацию, если вы могли бы помочь мне
:)