【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 通。

相关推荐
zhangphil1 小时前
Android理解onTrimMemory中ComponentCallbacks2的内存警戒水位线值
android
未来之窗软件服务1 小时前
通过网页调用身份证阅读器http websocket方法-华视电子————仙盟创梦IDE
网络·网络协议·http·仙盟创梦ide·东方仙盟·硬件接入
你过来啊你1 小时前
Android View的绘制原理详解
android
醉方休2 小时前
TCP、HTTP/1.1 和HTTP/2 协议
网络协议·tcp/ip·http
创小匠2 小时前
创客匠人解析创始人 IP 定位:从专业度到用户心智的占领之道
网络·网络协议·tcp/ip
车载测试工程师2 小时前
车载以太网网络测试-29【SOME/IP-SD】-SD状态机
网络·网络协议·tcp/ip·车载系统·php
高兴达3 小时前
RPC--自定义注解注册发布服务
网络·网络协议·rpc
在下Z.4 小时前
利用TCP协议,创建一个多人聊天室
网络·网络协议·tcp/ip
移动开发者1号4 小时前
使用 Android App Bundle 极致压缩应用体积
android·kotlin
移动开发者1号4 小时前
构建高可用线上性能监控体系:从原理到实战
android·kotlin