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

相关推荐
小蝈蝈啊3 小时前
HTTP相关知识点
网络协议·http·iphone
Android-Flutter4 小时前
android - JPG图片转换HDR图片,heic格式
android
任性不起来了4 小时前
宝塔面板点击ssl证书报错:出错了,面板运行时发生错误!ModuleNotFoundError: No module named ‘OpenSSL‘
网络·网络协议·ssl
诸神黄昏EX11 小时前
Android Build系列专题【篇四:编译相关语法】
android
雨白14 小时前
优雅地处理协程:取消机制深度剖析
android·kotlin
leon_zeng014 小时前
更改 Android 应用 ID (ApplicationId) 后遭遇记
android·发布
2501_9160074716 小时前
iOS 混淆工具链实战,多工具组合完成 IPA 混淆与加固(iOS混淆|IPA加固|无源码混淆|App 防反编译)
android·ios·小程序·https·uni-app·iphone·webview
stark张宇16 小时前
网络排错全流程:从DNS解析到防火墙,逐层拆解常见问题
linux·网络协议·dns
hour_go16 小时前
TCP/IP协议相关知识点
网络·笔记·网络协议·tcp/ip
Arva .17 小时前
WebSocket实现网站点赞通知
网络·websocket·网络协议