【Android】Proxyman 抓 HTTP 数据包

前言

抓包(Packet Capture)是指在网络通信中截取、分析数据包的过程。

抓包通常用于网络调试、性能优化、安全分析等工作,可以帮助开发者或运维人员查看网络请求的详细内容,包括请求的URL、请求头、响应状态、数据内容等信息。

在抓包过程中,抓包工具会监听网络接口,将传输的数据包截取下来并以可读的方式展示出来。

抓包工具可以分析多种协议的数据包,如 HTTP、HTTPS、TCP、UDP 等,帮助我们深入了解网络通信的细节。

抓包

HTTP

Proxyman 是一款高性能的抓包应用程序,使开发人员能够查看来自应用程序和域的 HTTP/HTTPS 请求,包括 iOS 设备、iOS 模拟器Android 设备。

前期准备

  1. 下载 Proxyman

    点击下载 👉 Proxyman

  2. 安装完成后打开 Proxyman ,根据指引安装证书到本地电脑

  3. 找一台 Root 过的 Android 设备,让设备网络与电脑网络处于同一局域网,并能使用电脑 pingAndroid 设备的 IP 地址。

  4. 进入 Android 设备的网络设置,为 以太网WIFI 配置代理信息。配置的代理信息如下:

    Server:192.1.68.1.5

    Port:9090

    Authentication:No

    配置代理需要确保 Android 设备上的 VPN 被关闭,以免代理冲突。

  5. Android 设备上打开浏览器,访问 http://proxy.man/ssl 网址下载 CA 证书。

  6. 打开设置,根据 安全 → 加密与凭证 → 安装证书 → CA 证书 的操作步骤安装刚刚下载的 CA 证书。

  7. 如果你的 Android 系统版本高于 10 ,需要在你的 Android 项目上配置信任 CA 证书,即在 res/xml/network_security_config.xml 加上如下配置:

    xml 复制代码
    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
    	<debug-overrides>
            <trust-anchors>
                <!-- Trust user added CAs while debuggable only -->
                <!-- 信任用户添加的CA证书 -->
                <certificates src="user" />
                <!-- 信任系统预装的CA证书 -->
                <certificates src="system" />
            </trust-anchors>
        </debug-overrides>
    
        <!-- 允许明文流量(即HTTP请求)-->
        <base-config cleartextTrafficPermitted="true">
            <!-- 配置指定信任的证书来源。-->
            <trust-anchors>
                <!-- 表示信任系统预装的CA证书和用户添加的CA证书 -->
                <certificates src="system" />
                <!-- 信任系统预装的CA证书和用户添加的CA证书 -->
                <certificates src="user" />
            </trust-anchors>
        </base-config>
    </network-security-config>

    将配置文件的引用添加到 AndroidManifest.xml

    xml 复制代码
    <manifest xmlns:android="http://schemas.android.com/apk/res/android">
    	<application
    		android:networkSecurityConfig="@xml/network_security_config">
    	</application>
    </manifest>
  8. 打开APP

    具体详情可参考 👉 Android Device & Emulator

注意事项:

1、http 的网络请求在任何的 Android 版本上都可以进行抓包,https 的网络请求在Android 10及以上的Android 版本抓包,必须需要在 Android 项目加上一些配置才能抓包。

2、Android 10 及以上的 Android 版本需要在 Android 系统上配置 CA 证书。

3、使用抓包工具进行抓包的电脑要求要和 Android 端的网络处于同一局域网,且使用电脑能够 ping 通。

相关推荐
ftpeak5 小时前
从零开始使用 axum-server 构建 HTTP/HTTPS 服务
网络·http·https·rust·web·web app
灿烂阳光g6 小时前
domain_auto_trans,source_domain,untrusted_app
android·linux
低调小一7 小时前
Android传统开发 vs Android Compose vs HarmonyOS ArkUI 对照表
android·华为·harmonyos
雨白8 小时前
Java 多线程指南:从基础用法到线程安全
android·java
hsjkdhs8 小时前
网络编程之UDP广播与粘包问题
网络·网络协议·udp
00后程序员张9 小时前
详细解析苹果iOS应用上架到App Store的完整步骤与指南
android·ios·小程序·https·uni-app·iphone·webview
程序员江同学10 小时前
ovCompose + AI 开发跨三端的 Now in Kotlin App
android·kotlin·harmonyos
yzx99101310 小时前
接口协议全解析:从HTTP到gRPC,如何选择适合你的通信方案?
网络·人工智能·网络协议·flask·pygame
2501_9151063210 小时前
Xcode 上传 ipa 全流程详解 App Store 上架流程、uni-app 生成 ipa 文件上传与审核指南
android·macos·ios·小程序·uni-app·iphone·xcode