我有一个Android应用程序,它使用第三方jar。 当应用程序运行时,Http请求从第三方jar发送到服务器。 我需要捕获从第三方jar发送的HTTP请求。我想知道是否有一种简单的方法来实现非root设备
启动: 我尝试下载“proxyDroid”,但它需要root电话 我也尝试用“鲨鱼阅读器”下载“鲨鱼为根”,这也需要有根设备 我尝试了许多其他应用程序,可以捕获完整的请求,但它只需要root设备
我需要fiddler / wireshark可以为windows做些什么。一个网络数据包分析器,可以很容易地与Android应用程序集成,可以为请求对象提供所有头字段。
答案 0 :(得分:54)
您可以安装Charles - HTTP代理/ HTTP监视器/反向代理,使开发人员能够在您的PC或MAC上查看其计算机和Internet之间的所有HTTP和SSL / HTTPS流量。< / p>
配置步骤:
答案 1 :(得分:14)
我刚刚安装了Drony,不是共享软件,并且它不需要Android 3.x或更高版本的手机root
https://play.google.com/store/apps/details?id=org.sandroproxy.drony
它拦截请求并显示在LOG
上答案 2 :(得分:9)
有很多方法可以做到这一点,但其中一个是fiddler
现在,您可以在fiddler
中查看设备的完整日志您还可以找到完整的说明here
答案 3 :(得分:6)
您可以将fiddler用作webdebugger http://www.telerik.com/fiddler/web-debugging
Fiddler是来自telerik软件的调试工具,可帮助您拦截从您的计算机发起的每个请求。
答案 4 :(得分:6)
现在是2020年,对于最新解决方案,您可以使用Burp Suite嗅探https流量,而无需植根Android设备。
步骤:
安装Burp Suite
启用代理
在您的Android手机中导入认证
将您的Wifi配置更改为侦听代理
利润!
我在此处{@ {3}}
编写了完整的教程和屏幕截图,以了解如何操作。答案 5 :(得分:2)
你可以使用burp-suite。请按照以下程序进行操作。
配置Burp Proxy侦听器
在Burp中,转到“代理”选项卡,然后转到“选项”选项卡。在“代理监听器”部分中,单击“添加”按钮。
在“绑定”选项卡的“绑定到端口:”框中,输入当前未使用的端口号,例如“8082”。然后选择“所有接口”选项,并单击“确定”。
配置您的设备以使用代理
在Android设备中,转到“设置”菜单。
如果您的设备尚未连接到您正在使用的无线网络,请打开“Wi-Fi”按钮,然后点按“Wi-Fi”按钮以访问“Wi-Fi”菜单。
在“Wi-Fi网络”表格中,找到您的网络并点按它以显示连接菜单。
点击“连接”。如果您已配置密码,请输入密码并继续。
连接后,按住网络按钮调出上下文菜单。点击“修改网络配置”。
确保勾选“显示高级选项”框。
点击按钮将“代理设置”更改为“手动”。
然后将运行Burp的计算机的IP输入“代理主机名”。输入前面“代理监听器”部分中配置的端口号,在此示例中为“8082”。单击“保存”。
测试配置
在Burp中,转到“代理拦截”选项卡,并确保拦截“打开”(如果按钮显示“拦截已关闭”,则单击它以切换拦截状态)。
在Android设备上打开浏览器并转到HTTP网页(当您在Android设备中安装了Burp的CA证书时,可以访问HTTPS网页。)
该请求应在Burp中截获。
答案 6 :(得分:2)
SandroProxy似乎比Drony(由同一个开发者)更好:你可以 (但不必)方便地查看和分析PC浏览器中的流量。
也应该在模拟器中工作。
答案 7 :(得分:0)
在同一个LAN上设置https://mitmproxy.org/作为代理
答案 8 :(得分:0)
如果您愿意使用 Genymotion(或其他受支持的模拟设备),您可以使用 HTTP Toolkit,它可以分析和拦截/重写 HTTP 调用。
要安装您要调查的应用,Genymotion 支持 Open GApps(用于 Google Play 支持)和拖放 APK 文件。
HTTP Toolkit 也适用于真实设备,但它需要 root 权限才能正常工作。