使用Proxyman抓取Android的https请求

这篇具有很好参考价值的文章主要介绍了使用Proxyman抓取Android的https请求。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用Proxyman抓取Android的https请求

proxyman 安卓抓包,Android开发工具,android,https,php

有时,您可能需要测试您的移动应用程序并检查与其关联的所有网络请求。在网络上,此任务非常简单,只需按Ctrl + Shift + I打开开发人员工具即可。从那里,您可以导航到网络选项卡并检查与网页相关的所有 HTTP 请求,如下所示:
proxyman 安卓抓包,Android开发工具,android,https,php

然而,在移动开发方面,过程并不那么简单。与网络不同,没有内置机制可以通过打开开发人员工具轻松检查 HTTP 请求。

在这篇博文中,我们将探索通过使用代理来拦截网络请求的迷人世界。我们将指导您逐步设置和配置代理服务器,该服务器将充当您的设备和网络之间的中介。

通过利用代理服务器的功能,我们能够拦截、检查和分析所有传入的网络请求。这为应用程序的调试、性能优化和安全分析开辟了无限可能。

为了更容易理解,我将这个过程分为五个步骤。这些都是:

  1. 设置 Android 模拟器
  2. 代理设置
  3. 准备证书
  4. 部署证书
  5. 在 Android 模拟器上设置代理
    让我们详细探讨每个步骤。

1. 设置Android模拟器

要开始此过程,您需要安装 Android Studio。
成功安装后,启动 Android studio。在窗口顶部的工具栏上,找到并单击菜单Tools。之后Device Manager从下拉菜单创建所需要的设备并运行设备。
proxyman 安卓抓包,Android开发工具,android,https,php

首先,使用该命令emulator -list-avds显示系统上所有已安装模拟器的列表。此命令将为您提供可用设备的名称。从列表中确定您要运行的设备的名称。

一旦确定了要启动的设备,就可以使用该emulator -avd deviceName命令。deviceName将命令中的名称替换为所需设备的实际名称。该命令将使用指定的设备启动模拟器。

确保您已设置模拟器命令正常工作所需的所有环境变量非常重要。这将确保命令被识别并成功执行。
proxyman 安卓抓包,Android开发工具,android,https,php

列出设备
设置 Android 模拟器后,您可以选择从APKMirror下载并安装所需应用程序的 APK 文件。APKMirror 是一个信誉良好的网站,您可以在其中找到各种 Android 应用程序的各种 APK 文件。下载 APK 文件后,您可以继续将其安装在 Android 模拟器上。您可以将下载的 APK 文件拖放到模拟器窗口中,也可以使用模拟器的文件传输机制导入 APK 文件。

2. 代理设置

在继续安装代理之前,必须确保 OpenSSL 和 Android 调试桥 (ADB) 已正确设置。以下是您应该遵循的步骤:

如果您尚未安装OpenSSL ,请先在您的系统上安装OpenSSL 。有关安装过程,请参阅特定于您的操作系统的文档。openssl version安装后,您可以通过在终端或命令提示符中运行命令来验证安装。如果安装正确,这将显示 OpenSSL 版本。
proxyman 安卓抓包,Android开发工具,android,https,php

检查 OpenSSL 版本
接下来,确认您可以从终端或命令提示符访问 Android 调试桥 (ADB),这一点很重要。使用该命令adb version检查 ADB 是否可访问且配置正确。如果命令返回ADB版本,则表示设置正确。

proxyman 安卓抓包,Android开发工具,android,https,php

成功设置 OpenSSL 并确认对 ADB 的访问权限后,您可以继续安装代理。在本教程中,我们将下载并使用Proxyman作为示例工具。但是,您可以将相同的原则应用于其他类似的工具,例如Charles ProxymitmProxy

https://proxyman.io/
https://www.charlesproxy.com/

3. 准备证书

为了解密应用程序请求,Proxyman 生成自定义 SSL 证书。要获取此证书并将其配置为与 Android 操作系统一起使用,请执行以下步骤:

打开您的网络浏览器并访问以下链接。您可以通过此链接下载 Proxyman SSL 证书。下载证书后,找到保存证书的文件夹:

http://proxy.man/ssl
proxyman 安卓抓包,Android开发工具,android,https,php

  • 为了确保证书文件具有 Android 操作系统所需的正确格式,您需要对其进行重命名。打开命令提示符并导航到证书所在的文件夹。之后运行此命令:
hashed_name=`openssl x509 -inform PEM -subject_hash_old -in proxyman-ca.pem | head -1` && cp proxyman-ca.pem $hashed_name.0This command uses OpenSSL to generate a hashed name for the certificate and then renames the file accordingly. By following these steps, you obtain the custom SSL certificate from Proxyman and rename it to the format expected by Android OS. This certificate is essential for decrypting app requests and enabling Proxyman to intercept and analyze the network traffic.

此命令使用 OpenSSL生成证书的哈希名称, 然后相应地重命名文件。通过执行以下步骤,您可以从Proxyman获取自定义SSL 证书,并将其重命名为Android 操作系统所需的格式。此证书对于解密应用程序请求并使Proxyman能够拦截和分析网络流量至关重要。
此命令在 Windows Power shell 上不起作用,因此我在 Git Bash 终端上运行了此命令:
proxyman 安卓抓包,Android开发工具,android,https,php
命令执行成功,并.0在同一文件夹中生成了一个扩展名的文件:
proxyman 安卓抓包,Android开发工具,android,https,php

4. 部署证书

我们在上一步中生成的文件.0是将要添加到 Android 模拟器中的证书。为此,我们首先打开终端并列出可用的 AVD:

emulator -list-avds

从可用的 AVD 中,我们将使用以下命令运行所需的 AVD:

emulator -avd <avd_name_here> -writable-system

请注意,我们使用-writable-system标志来启动具有可写系统权限的 AVD,从而允许修改。之后我们需要打开另一个终端并运行以下命令:

adb root

此命令以 root 权限重新启动 ADB 守护进程。之后,我们运行此命令以禁用设备上的安全启动验证:

adb shell avbctl disable-verification

接下来我们使用以下命令重新启动设备:

adb reboot

设备重新启动后,运行以下命令以 root 身份重新启动 ADB:

adb root

通过执行以下命令将分区重新挂载为读写:

adb remount

如果 ADB 提示您重新启动设备,请adb reboot再次运行,然后运行adb root​​adb remount。现在我们准备.0使用以下命令将重命名的 SSL 证书文件(我们之前生成的文件)推送到设备,并替换<path_to_certificate>为证书文件的实际路径:

adb push <path_to_certificate> /system/etc/security/cacerts

此命令将证书文件复制到设备上的相应目录。现在我们将通过运行以下命令为证书文件设置正确的权限:

adb shell chmod 664 /system/etc/security/cacerts/<name_of_pushed_certificate>

现在我们需要使用以下命令最后一次重新启动设备:

adb reboot

设备将重新启动,并将部署 SSL 证书。我们已成功将 SSL 证书部署到您的 Android 模拟器中。这将允许模拟器识别并信任该证书,从而使 Proxyman 能够拦截和分析来自设备的网络流量。

现在要验证 Android 设备上的证书,您可以导航到Android 设备设置Trusted Credentials中的System部分,您可以找到选项卡下列出的证书。这确认证书已成功安装并被您的 Android 设备识别:Encryption & CredentialsProxyman LLCSystem

proxyman 安卓抓包,Android开发工具,android,https,php

5. 在Android模拟器上设置代理

最后一步涉及我们配置 Android 模拟器以使用我们设置的 Proxyman 代理。为此,请在您的计算机上启动 Proxyman。在 Proxyman 中,导航至Certificate菜单。Install Certificate on Android从下拉列表中选择。Physical Devices从子菜单中选择。请注意,您无需担心该术语Physical Devices,因为我们不会遵循该特定指南。我们只需要此菜单中的一些基本细节:
proxyman 安卓抓包,Android开发工具,android,https,php

Android setup guide中,确保复制 IP 地址和端口号。该过程的后续步骤将需要这些详细信息:

proxyman 安卓抓包,Android开发工具,android,https,php接下来是转到 Android 模拟器并单击菜单图标,如屏幕截图所示:
proxyman 安卓抓包,Android开发工具,android,https,php

单击Settings侧栏中的选项。单击后,Settings,您可以继续导航到该Proxy选项卡:
proxyman 安卓抓包,Android开发工具,android,https,php

在代理选项卡中,选中该Manual proxy configuration选项。之后粘贴我们从 Proxyman Android setup guide步骤复制的 IP 地址和端口并点击apply按钮:

proxyman 安卓抓包,Android开发工具,android,https,php

我们已经成功完成了拦截来自 Android 设备的 HTTP 请求的所有必要设置步骤。现在,我们可以启动 Proxyman 并在 Android 模拟器上运行应用程序。当我们使用应用程序时,Proxyman 将捕获并显示与网络请求相关的所有相关详细信息和数据,为我们提供有关应用程序通信的宝贵见解和可见性。
proxyman 安卓抓包,Android开发工具,android,https,php文章来源地址https://www.toymoban.com/news/detail-762792.html

到了这里,关于使用Proxyman抓取Android的https请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Fiddler如何抓取手机http/https请求数据包(IOS,Android保姆级教程)

    1.开启Fiddler远程连接 2.设置完远程连接,重启Fiddler,更新配置 3.保持手机和电脑在同一个局域网 4.给手机装证书 5.点击下载证书 6.给证书命名 7.点击确定,确认安装成功 Fiddler主菜单Tools -- Options -- Connections -- 勾选 Allow remote computers to connect 弹出的框是确认启用远程连接,配置

    2024年02月04日
    浏览(28)
  • Proxyman Premium for Mac v5.1.1激活版:卓越的网络调试与分析工具

    Proxyman Premium for Mac是一款功能强大的网络调试与分析工具,专为开发人员和测试人员精心打造。它集多种功能于一身,为用户提供了全面、高效的网络开发体验。 Proxyman Premium for Mac v5.1.1激活版下载 作为一款跨平台代理工具,Proxyman Premium支持MacOS、iOS和iPadOS等操作系统,使得

    2024年04月17日
    浏览(23)
  • Failed to start: app/proxyman/inbound: failed to listen TCP on 10808

    启动 v2xxx-With-Core 失败,报错信息如下: 1. 分析端口占用问题 分析结果 :未查询到端口被占用 2. 分析端口是否被禁用 查看禁用端口 分析 端口 10808 确实在禁用端口范围内 既然分析到问题的原因是端口被系统禁用,那么解决方案可以分为两种。 修改当前应用的启动端口(修

    2024年02月04日
    浏览(38)
  • Failed to start: app/proxyman/inbound: failed to listen TCP on 10808 > transport/internet: failed

    启动服务器或者代理时出现监听TCP端口失败,可能是该端口被占用,已经存在了;需要先杀死该端口所用的进程再进行运行; 查看端口所在进程:netstat -ano|findstr “:10808” 运行结果: TCP 0.0.0.0:10808 0.0.0.0:0 LISTENING 1104 杀掉所在进程: taskkill /pid 1104 /f 之后再进行访问就行

    2024年02月12日
    浏览(37)
  • 【每日一记】app/proxyman/outbound: failed to process outbound traffic > proxy/vless/outbound: failed to fi

    问题: 在使用 v2rayN 时失败,报错日志: 原因: 端口被封,节点挂了,或者配置错了。 解决: 换端口,换节点,换配置。(例如使用Trojan)

    2024年02月11日
    浏览(26)
  • Fiddler抓取app HTTPS请求

    一、电脑和手机连接同一WIFI cmd-ipconfig,查看电脑当前IP地址为192.168.101.48 二、配置Fiddler Options选项勾选Allow remote computers to connect。 安装证书 勾选抓取HTTPS请求 三、手机端配置代理 手机端连接wifi,手动配置代理。 主机名:IP填写电脑ip地址 端口:填写Fiddler默认端口8888   手

    2024年02月15日
    浏览(38)
  • Fiddler抓包之【 抓取https请求 】详解教程

    引言 概况 基本原理 抓HTTPS的原理 HTTPS请求两类 Fiddler抓包要求 总结 写在最后 在日常测试中,不管是功能测试还是接口测试,避免不了抓包。抓包工具有很多,这里只讲fiddler的使用,并且是对https请求的抓取。 抓包之前,先了解一下Fiddler。 Fiddler是一款免费且功能强大的数

    2024年02月07日
    浏览(43)
  • Charles抓取https请求及常见问题解决

    大家好,我是杨叔。每天进步一点点,关注我的微信公众号【程序员杨叔】,获取更多测试开发技术知识! APP测试的时候,通常都需要通过抓包工具抓取各类请求,查看接口的入参、返回值等,用于分析定位问题。常用的抓包工具有fiddler、charles等,抓取http的请求比较简单,

    2024年02月03日
    浏览(29)
  • 【从零开始学技术】Fiddler 抓取 https 请求大全

    注意浏览器代理区别 Chrome/IE浏览器使用的都是系统代理设置 在chrome浏览器的设置中搜索代理,可以看到 打开IE浏览器,选择设置-Internet选项 Firefox浏览器使用的是单独的一套代理系统 在Firefox的代理设置中,我们也可以选择使用系统代理 Fiddler打开之后默认是可以抓取到Chro

    2024年02月02日
    浏览(27)
  • Charles安装后无法抓取https请求,显示 unknow

    问题描述 安装Charles后,双击打开,尝试抓取https请求,但抓取到的请求显示unknow,如下图: 问题原因 出现此问题的原因为Charles配置问题 解决办法 一、 安装证书 步骤: 1、点击菜单栏 【help】 2、下拉菜单中找到 【SSL Proxying】,然后选择第二项【Install Chrales Root Certificate】

    2024年02月04日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包