使用Fiddler对手机App抓包

本文详细介绍了如何配置Fiddler以监听HTTPS请求和允许远程连接,以及在安卓设备上设置代理和安装Fiddler证书进行APP抓包。步骤包括:启用Fiddler的HTTPS解密和远程连接功能,获取电脑IP和端口号,手机连接同一网络,下载并安装Fiddler证书,以及设置手机代理。遵循这些步骤,开发者可以有效地进行移动应用的网络请求调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Fiddler配置

1.配置fiddler允许监听到https:

(fiddler默认只抓取http格式的)

 选择HTTPS栏,勾选Capture HTTPS CONNECTs,点击Actions,勾选Decrypt HTTPS traffic和Ignore server certificate errors两项, Fiddler截获HTTPS请求,点击OK(首次点击会弹出是否信任fiddler证书和安全提示,直接点击yes就行),见图:

 2.配置fiddler允许远程连接:

点击Tools-> Options->Connections。
勾选allow remote computers to connect,默认监听端口为8888(下图Fiddler listens on port就是端口号),若端口被占用可以设置成其他的,配置好后要重新启动fiddler,如下图:

Fiddler配置完成。 

二、APP配置

(以安卓为例,苹果过程都一致,仅仅在安装证书后需要手动开启信任证书)。
1.首先要保证手机和电脑都处于同一个网络:

方法是:手机开热点,电脑连接手机的热点;或者电脑开热点,手机连接电脑开的热点;


2.要知道电脑的ip地址(当然这个电脑是安装fiddler的电脑):

第一种方法,打开fiddler,点击箭头所指的下三角,鼠标悬浮在Online,可以看到ip地址,我的ip是10.54.58.26


第二种方法,通过dos命令窗口,输入ipconfig查询,Ipv4地址对应的就是ip:10.54.58.26


3.查看fiddler的端口号,Tools-> Options->Connections,port中值就是端口号,一般默认为8888,不用改: 

4.接下来开始操作手机;
1)下载证书:打开手机浏览器,输入http://ip:端口号,点击前往,见下图:(每换一个wifi都要重新下载安装证书),例如,我的手机:在浏览器窗口输入:http://10.54.58.26:8888,访问网址之后会跳转到证书下载页,点击FiddlerRoot certificate下载证书

 2)下载完证书后安装证书:在手机设置中搜索证书,并进入安装证书界面:

 3)更改手机无线网的代理:

3-1)修改网络:

3-2)勾选显示高级选项,将代理改成手动:

 3-3)输入电脑ip地址,及默认端口号后点击保存

 

 5.现在就可以抓包了

### 如何使用Fiddler抓取并分析手机应用的HTTP请求与响应 #### 配置Fiddler作为代理服务器 为了使Fiddler能够拦截来自移动设备上的应用程序发出的数据流,需先将电脑上运行着的Fiddler设为代理服务器。这通常意味着要更改Wi-Fi连接中的HTTP代理设置,在某些情况下也可能涉及安装由Fiddler生成的安全证书以便解密HTTPS通信。 对于Android或iOS设备而言,当它们处于同一局域网内并与配置好Fiddler作代理服务端口监听状态下的计算机相连时,只需简单调整无线网络参数即可实现此目的[^1]。 #### 安装Fiddler根证书到移动端 由于现代智能手机默认会对所有的SSL/TLS加密会话执行严格的验证流程,因此如果想要查看经由这些平台发起的确切HTTPS流量详情,则还需要额外完成一项重要步骤——即向目标装置导入已信任CA签发给本地实例使用的自定义认证文件。具体来说就是指从Windows版Fiddler导出其私钥对应的中间件,并按照官方指导说明将其安全地部署至个人手持终端之中[^3]。 #### 设置Postman或其他客户端工具以兼容Fiddler环境 假设读者也打算同步利用像Postman这样的API测试软件来进行联合调试工作的话,那么同样不可忽视的一环便是确保这类第三方库能正确识别并通过前述提及过的代理链路传递消息体。为此可能涉及到修改程序内部选项里的网络层属性设定,比如指定特定IP地址以及相应的传输控制协议(TCP)端口号等信息来匹配当前所处场景的要求[^2]。 ```bash # 假定PC IP 地址为 192.168.1.100 并且 Fiddler 默认侦听于 8888 端口 export http_proxy=http://192.168.1.100:8888/ export https_proxy=https://192.168.1.100:8888/ ``` 以上命令适用于类Unix系统(Linux/macOS),用于临时设置环境变量指向Fiddler所在的主机和端口;而在Windows PowerShell里则应采用如下方式: ```powershell $env:http_proxy="http://192.168.1.100:8888" $env:https_proxy="https://192.168.1.100:8888" ``` 一旦上述准备工作全部就绪之后,就可以启动待测App并观察实时发生的交互过程了。此时打开Fiddler界面应当能看到新近产生的条目列表不断增长,每一个都代表着一次完整的访问尝试及其携带的有效载荷摘要描述。通过双击任意一条记录还可以深入探究更详尽的内容结构,包括但不限于首部字段、主体部分乃至底层TCP/IP栈层面的行为特征等等[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值