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

Ven*_*esh 70 android http http-headers

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

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

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

SFe*_*eng 63

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

配置步骤:

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

  • 不幸的是,这是一个共享软件. (14认同)
  • 本教程运作良好:http://jaanus.com/blog/2012/02/12/debugging-http-on-an-android-phone-or-tablet-with-charles-proxy-for-fun-and-profit / (3认同)

Mau*_*rez 16

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

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

它拦截请求并显示在LOG上

  • 不在https上显示请求的路径:( (3认同)
  • 它只记录主机名/ip,并不是很有用 (3认同)
  • @ Smit.Satodia我不知道他们是否共享/发布源代码,如果有人发现它可以随意发布链接作为评论 (2认同)
  • 源代码可以在这里找到:https://github.com/SuppSandroB/sandrop它最初托管在谷歌代码上:https://code.google.com/archive/p/sandrop/ (2认同)

Ara*_*ami 12

有很多方法可以做到这一点,但其中一个是小提琴手

提琴手配置

  1. 转到选项
  2. HTTPS选项卡中,启用Capture HTTPS连接解密HTTPS流量
  3. Connections选项卡中,启用允许远程计算机连接
  4. 重启fiddler

Android配置

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

现在,您可以在fiddler中查看设备的完整日志

您也可以在这里找到完整的说明

  • Fiddler 测试版在 macOS 上可用(依赖于单声道)。如果您没有 PC,这是个好消息。 (2认同)

小智 9

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

脚步:

  1. 安装 Burp 套件

  2. 启用代理

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

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

  5. 利润!

我在此处编写了有关如何执行此操作的完整教程和屏幕截图:https : //www.yodiw.com/monitor-android-network-traffic-with-burp/


小智 6

你可以使用fiddler作为webdebugger http://www.telerik.com/fiddler/web-debugging

Fiddler是telerik软件的调试工具,可帮助您拦截从您的机器发出的每个请求.

  • 虽然此链接可能会回答这个问题,但最好在此处包含答案的基本部分并提供参考链接.如果链接的页面发生更改,则仅链接的答案可能会无效 (4认同)

小智 6

你可以使用打嗝套件。请遵循以下程序。

配置 Burp 代理监听器

在 Burp 中,转到“代理”选项卡,然后转到“选项”选项卡。在“代理侦听器”部分,单击“添加”按钮。

在“绑定”选项卡中的“绑定到端口:”框中,输入当前未使用的端口号,例如“8082”。然后选择“所有接口”选项,然后单击“确定”。

配置您的设备以使用代理

在您的 Android 设备中,转到“设置”菜单。

如果您的设备尚未连接到您正在使用的无线网络,请打开“Wi-Fi”按钮,然后点击“Wi-Fi”按钮访问“Wi-Fi”菜单。

在“Wi-Fi 网络”表中,找到您的网络并点击它以显示连接菜单。

点击“连接”。如果您已配置密码,请输入并继续。

连接后按住网络按钮以调出上下文菜单。点击“修改网络配置”。

确保勾选“显示高级选项”框。

通过点击按钮将“代理设置”更改为“手动”。

然后在“代理主机名”中输入运行 Burp 的计算机的 IP。输入前面在“代理侦听器”部分中配置的端口号,在本例中为“8082”。点击“保存”。

测试配置

在 Burp 中,转到“代理拦截”选项卡,并确保拦截“打开”(如果按钮显示“拦截关闭”,则单击它以切换拦截状态)。

在你的 Android 设备上打开浏览器并转到一个 HTTP 网页(当你在你的 Android 设备上安装 Burp 的 CA 证书后,你可以访问一个 HTTPS 网页。)

请求应该在 Burp 中被拦截。