前言
抓包(Packet Capture)是指在网络通信中截取、分析数据包的过程。
抓包通常用于网络调试、性能优化、安全分析等工作,可以帮助开发者或运维人员查看网络请求的详细内容,包括请求的URL、请求头、响应状态、数据内容等信息。
在抓包过程中,抓包工具会监听网络接口,将传输的数据包截取下来并以可读的方式展示出来。
抓包工具可以分析多种协议的数据包,如 HTTP、HTTPS、TCP、UDP 等,帮助我们深入了解网络通信的细节。
抓包
HTTP
Proxyman 是一款高性能的抓包应用程序,使开发人员能够查看来自应用程序和域的 HTTP/HTTPS
请求,包括 iOS
设备、iOS 模拟器
和 Android
设备。
前期准备
-
下载
Proxyman
点击下载 👉 Proxyman
-
安装完成后打开
Proxyman
,根据指引安装证书到本地电脑 -
找一台
Root
过的Android
设备,让设备网络与电脑网络处于同一局域网,并能使用电脑ping
通Android
设备的 IP 地址。 -
进入
Android
设备的网络设置,为以太网
或WIFI
配置代理信息。配置的代理信息如下:Server:192.1.68.1.5
Port:9090
Authentication:No配置代理需要确保
Android
设备上的VPN
被关闭,以免代理冲突。 -
在
Android
设备上打开浏览器,访问http://proxy.man/ssl
网址下载 CA 证书。 -
打开设置,根据 安全 → 加密与凭证 → 安装证书 → CA 证书 的操作步骤安装刚刚下载的 CA 证书。
-
如果你的
Android
系统版本高于 10 ,需要在你的Android
项目上配置信任 CA 证书,即在res/xml/network_security_config.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
:<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <application android:networkSecurityConfig="@xml/network_security_config"> </application> </manifest>
-
打开APP
具体详情可参考 👉 Android Device & Emulator
注意事项:
1、http
的网络请求在任何的 Android
版本上都可以进行抓包,https
的网络请求在Android 10及以上的Android
版本抓包,必须需要在 Android
项目加上一些配置才能抓包。
2、Android 10 及以上的 Android
版本需要在 Android
系统上配置 CA 证书。
3、使用抓包工具进行抓包的电脑要求要和 Android
端的网络处于同一局域网,且使用电脑能够 ping
通。