Android:使用非root用户设备捕获HTTP请求

时间:2013-07-16 19:04:33

标签: android http http-headers

我有一个Android应用程序,它使用第三方jar。 当应用程序运行时,Http请求从第三方jar发送到服务器。 我需要捕获从第三方jar发送的HTTP请求。我想知道是否有一种简单的方法来实现非root设备

启动: 我尝试下载“proxyDroid”,但它需要root电话 我也尝试用“鲨鱼阅读器”下载“鲨鱼为根”,这也需要有根设备 我尝试了许多其他应用程序,可以捕获完整的请求,但它只需要root设备

我需要fiddler / wireshark可以为windows做些什么。一个网络数据包分析器,可以很容易地与Android应用程序集成,可以为请求对象提供所有头字段。

9 个答案:

答案 0 :(得分:54)

您可以安装Charles - HTTP代理/ HTTP监视器/反向代理,使开发人员能够在您的PC或MAC上查看其计算机和Internet之间的所有HTTP和SSL / HTTPS流量。< / p>

配置步骤:

  • 让您的手机和PC或MAC在同一个局域网中
  • 启动您安装的Charles(默认代理端口为8888)
  • 设置手机的wifi配置:将代表的IP设置为PC或MAC的IP,代理端口为8888
  • 在手机中播放您的应用。并监视Charles的http请求。

答案 1 :(得分:14)

我刚刚安装了Drony,不是共享软件,并且它不需要Android 3.x或更高版本的手机root

https://play.google.com/store/apps/details?id=org.sandroproxy.drony

它拦截请求并显示在LOG

答案 2 :(得分:9)

有很多方法可以做到这一点,但其中一个是fiddler

Fiddler配置

  1. 转到选项
  2. HTTPS 标签中,启用捕获HTTPS连接解密HTTPS流量
  3. 连接标签中,启用允许远程计算机连接
  4. 重启fiddler
  5. Android配置

    1. 连接相同网络
    2. 修改网络设置
    3. 添加代理以连接您的PC的IP地址(或主机名)和默认的提琴手的端口(8888 /您可以在设置中更改)
    4. 现在,您可以在fiddler

      中查看设备的完整日志

      您还可以找到完整的说明here

答案 3 :(得分:6)

您可以将fiddler用作webdebugger   http://www.telerik.com/fiddler/web-debugging

Fiddler是来自telerik软件的调试工具,可帮助您拦截从您的计算机发起的每个请求。

答案 4 :(得分:6)

现在是2020年,对于最新解决方案,您可以使用Burp Suite嗅探https流量,而无需植根Android设备。

步骤:

  1. 安装Burp Suite

  2. 启用代理

  3. 在您的Android手机中导入认证

  4. 将您的Wifi配置更改为侦听代理

  5. 利润!

我在此处{@ {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/作为代理

  • 开源
  • 内置于python 3
  • 可通过pip安装

答案 8 :(得分:0)

如果您愿意使用 Genymotion(或其他受支持的模拟设备),您可以使用 HTTP Toolkit,它可以分析和拦截/重写 HTTP 调用。

要安装您要调查的应用,Genymotion 支持 Open GApps(用于 Google Play 支持)和拖放 APK 文件。

HTTP Toolkit 也适用于真实设备,但它需要 root 权限才能正常工作。

enter image description here