拦截 android 应用的 HTTP 流量?

Intercept HTTP Traffic of an android app?

我试图测试和拦截来自 Rhodes 开源框架开发的应用程序的流量,我使用 burp 设置了代理,当然我已经在我的服务器上安装了 burp 证书设备因此我可以拦截我设备上的其他应用程序,但我无法在 question - its link on burp suite instead the app works fine and connects to the remote server without even appearing any error related to certificate error on the event Log of the burp suite just as like an app using certificate Pinning would complain. in reversing the app I concluded that it is using https protocol to connect to the server. additionally, I have installed the app in Genymotion emulator and the app behaves differently. when I installed the certificate in the emulator and set up burp proxy, all the traffic from other apps appears normally in the proxy except this app 中看到该应用程序的流量。所有应用程序流量都遵循地址 127.0.0.1 这对我来说很奇怪。例如,我在下面截取了一个:

http://127.0.0.1:44895

POST /app/Settings/do_pathlogin HTTP/1.1
Host: 127.0.0.1:44895
Content-Length: 65
Accept: */*
Origin: http://127.0.0.1:44895
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Linux; Android 8.0.0; Samsung Galaxy S6 Build/OPR6.170623.017; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.125 Mobile Safari/537.36
Transition-Enabled: true
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://127.0.0.1:44895/app/Settings/index_callback
Accept-Encoding: gzip, deflate
Accept-Language: en-US
Connection: close

fromPage=login&operation_key=HOME_REP&username=user&password=pass

我不知道为什么 app 会出现这种行为,在真实设备中不会出现这种情况,即到地址 127.0.0.1 的流量。 正如其他研究人员所建议的那样,尝试使用 wireshark 嗅探 app 的网络流量并激活 wireshark 的捕获流量,我期望嗅探甚至判断应用程序是否使用 UDP 协议,但没有出现任何流量来自应用程序!

我需要一些帮助我怎样才能捕获这个 app 的流量?

我错过了什么?

我还需要哪些其他步骤?

我非常感谢对此的任何帮助。

注意:我对应用没有任何恶意。

在查看它时,您需要解决两件事首先 应用程序正在使用 non-proxy-aware 与服务器通信的库。 其次 当使用 wireshark 嗅探应用程序时,它当然会加密其数据,因此您需要从应用程序中提取证书才能在 wireshark 中查看数据。但这是一项繁琐的工作,但它是可以实现的。请做功课。希望这个回答能有所帮助。