在Python开发尤其是爬虫开发、App接口调试场景中,抓取手机App的HTTPS流量包是核心需求之一,Fiddler、Charles、Mitmproxy是三款最常用的抓包工具,各自适配不同的使用场景。

三款抓包工具核心特性对比
三款工具在功能定位、使用方式、适配场景上有明显差异,具体对比如下:
| 工具名称 | 界面类型 | 核心优势 | 适用场景 |
|---|---|---|---|
| Fiddler | 图形化 | 免费开源、Windows平台兼容性好、配置简单 | 快速调试App接口、新手入门抓包 |
| Charles | 图形化 | 跨平台支持好、流量解析能力强、断点调试功能完善 | 多平台开发调试、复杂接口分析 |
| Mitmproxy | 命令行/图形化可选 | 支持Python脚本扩展、可自动化处理流量、适合集成到程序 | Python爬虫开发、自动化流量处理场景 |
通用前置准备:手机HTTPS抓包基础配置
无论使用哪款工具,抓取手机App HTTPS流量都需要完成两个基础步骤:一是让手机和抓包工具所在电脑处于同一局域网,二是安装抓包工具的CA证书到手机,否则HTTPS流量会被加密无法解析。
1. 局域网配置
先查看电脑的局域网IP地址,Windows系统可以在命令行输入ipconfig查看,Mac/Linux系统输入ifconfig查看。之后在手机WiFi设置中,配置代理为手动,代理服务器主机名填写电脑的局域网IP,端口填写抓包工具的监听端口,三款工具默认端口分别为:Fiddler 8888、Charles 8888、Mitmproxy 8080。
2. 安装CA证书
在手机浏览器中访问抓包工具提供的证书下载地址,Fiddler的地址是http://电脑IP:8888/FiddlerRoot.cer,Charles是在工具内选择Help-SSL Proxying-Install Charles Root Certificate on a Mobile Device,按照提示访问对应地址,Mitmproxy是在命令行运行mitmproxy后,手机访问http://mitm.it下载对应系统的证书。下载完成后,在手机系统设置中安装证书,Android系统需要把证书文件放到系统信任凭据目录,iOS系统需要在设置-通用-关于本机-证书信任设置中开启信任。
Fiddler抓取手机App HTTPS流量步骤
Fiddler是Windows平台最常用的免费抓包工具,配置流程如下:
1. 开启HTTPS抓包配置
打开Fiddler,点击Tools-Options-HTTPS,勾选Capture HTTPS CONNECTs、Decrypt HTTPS traffic,选择Ignore server certificate errors,点击Actions-Trust Root Certificate,按照提示安装证书到电脑。
2. 开启远程连接
点击Tools-Options-Connections,勾选Allow remote computers to connect,端口保持默认8888,重启Fiddler使配置生效。
3. 手机配置代理并安装证书
按照前面的通用前置步骤配置手机代理,下载并安装Fiddler的CA证书,之后打开手机App发起请求,Fiddler就可以捕获到对应的HTTPS流量,在左侧请求列表中可以看到所有请求,点击具体请求可以在右侧查看请求参数、响应内容等信息。
Charles抓取手机App HTTPS流量步骤
Charles是跨平台的图形化抓包工具,功能更丰富,配置流程如下:
1. 开启HTTPS代理
打开Charles,点击Proxy-Proxy Settings,确认端口为8888,点击Proxy-SSL Proxying Settings,勾选Enable SSL Proxying,点击Add,Host填写*,Port填写443,表示抓取所有HTTPS流量。
2. 安装电脑端证书
点击Help-SSL Proxying-Install Charles Root Certificate,按照提示将证书安装到电脑的信任根证书列表。
3. 手机配置代理并安装证书
按照通用前置步骤配置手机代理,下载并安装Charles的CA证书,之后手机App发起的请求就会出现在Charles的请求列表中,Charles还支持断点调试、请求重写、流量限流等高级功能,适合复杂场景的接口调试。
Mitmproxy抓取手机App HTTPS流量步骤
Mitmproxy最大的优势是支持Python脚本扩展,适合需要自动化处理流量的Python开发场景,配置流程如下:
1. 安装Mitmproxy
使用pip安装Mitmproxy,命令如下:
# 安装mitmproxy pip install mitmproxy
2. 启动Mitmproxy并配置HTTPS抓包
在命令行输入mitmproxy启动命令行模式,或者输入mitmweb启动图形化模式,默认监听8080端口。如果需要抓取HTTPS流量,需要先在命令行运行mitmdump --set confdir=~/.mitmproxy生成CA证书,之后将证书安装到电脑的信任根证书列表。
3. 手机配置代理并安装证书
按照通用前置步骤配置手机代理,手机访问http://mitm.it下载对应系统的CA证书并安装,之后手机App的请求就会被Mitmproxy捕获。
4. 结合Python脚本处理流量
Mitmproxy支持通过Python脚本自定义流量处理逻辑,比如过滤特定请求、修改请求参数、保存响应数据等,下面是一个简单的示例脚本,用于打印所有捕获的请求URL:
from mitmproxy import http
def request(flow: http.HTTPFlow):
# 打印请求的URL
print(flow.request.url)
# 可以在这里添加自定义逻辑,比如过滤特定域名的请求
if "api.ippipp.com" in flow.request.url:
print("捕获到目标域名的请求")
运行脚本的命令如下:
# 运行脚本,启动mitmdump mitmdump -s script.py
如何选择适合的抓包工具
根据具体的使用场景选择即可:如果是Windows平台新手,只需要快速调试App接口,优先选择Fiddler,免费且配置简单;如果是Mac/Linux用户,或者需要更复杂的调试功能,优先选择Charles,跨平台体验好;如果是Python开发者,需要自动化处理流量、把抓包功能集成到自己的程序中,优先选择Mitmproxy,脚本扩展能力可以满足定制化需求。
三款工具都可以完成手机App HTTPS流量的抓取,核心差异在于使用方式和扩展能力,开发者可以根据自己的技术栈和需求灵活选择。
Python抓包FiddlerCharlesMitmproxyHTTPS流量抓取修改时间:2026-07-13 12:54:34