Fiddler 手机抓包

15,538 阅读3分钟

1 环境准备

  1. 安装好 Fiddler 抓包工具;
  2. 安装有 Fiddler 的电脑必须跟手机处在同一个网络里;
  3. 在 Fiddler 中设置好捕获 HTTPS。

       默认情况下,Fiddler 不会捕获 HTTPS 会话,需要进行设置:启动 Fiddler,在菜单栏中单击 Tool --> Options --> HTTPS,选中“Decrypt HTTPS traffic”,在弹出的2个对话框中单击“Yes”。同时选中“Ignore server certificate errors”来忽略一些证书的错误。

      安装证书后,测试一下 Fiddler 能否捕捉 HTTPS 请求。打开浏览器,输入 https://baidu.com ,在 Fiddler 中查看是否捕捉到了 HTTPS 的百度请求。


      查看 windows 本地安装的证书

方法1. win+R,调出命令行窗口,输入“certmgr.msc”;

方法2. 在 Fiddler 的菜单栏选择 Tools --> Options --> HTTPS --> Actions --> Open Windows Certificate Manager。


2 原理

Fiddler 作为代理服务器,可以接受远程及其发来的 HTTP/HTTPS 协议的数据包,并且将其转发到 Web 服务器。

3 手机抓包

3.1 配置 Fiddler 允许“远程连接”

       启动 Fiddler,点击 Tools --> Options --> Connections,选中“Alllow remote computers to connect” 。同时,我们可以看到 Fiddler 的工作端口号是 8888。勾选之后,要重启 Fiddler。


3.2 获取 Fiddler 所在机器的 IP 地址

       方法1:查看电脑 IP 地址,win+R,调出运行窗口,输入命令“ipconfig”,找到 IP 地址。

       方法2:在 Fiddler 中,鼠标放在右上方的“online”图标上,也可以看到本机的 IP 地址。


3.3 手机上设置代理服务器

  1. 打开手机设置 --> Wi-Fi,找到手机当前连接的 Wi-Fi。
  2. 将代理改为手动,服务器输入 Fiddler· 所在的电脑 IP 地址,服务器端口 8888。
  3. 保存连接即可,有些手机可能需要重新输入wifi密码才能重新连接。


3.4 测试 Fiddler  捕获手机发出的 HTTP

  1.  打开手机的浏览器,输入网址 www.163.com 进行浏览(163网站用的是 HTTP 协议),或者打开手机 app进行捕获。
  2. 如果抓不到 HTTP 的包,很可能是 windows 的防火墙问题,到控制面板关掉防火墙后再试试。


3.5 捕获手机上的 HTTPS

捕获 HTTPS 请求,则必须把 Fiddler 证书安装到手机上。


3.6 Apple 设备需要使用插件制作新证书

       Fiddler 默认的证书是基于命令行工具 makecert.ex.,几乎所有的 Windows 客户端都接受该工具生产的证书。但是 Apple IOS 设备和少部分 Android 要求根证书和服务器证书包含 makecert.exe 生产的证书中所没有的其他元数据。为了兼容这些设备,需要下载 Fiddler 插件“CertMaker for IOS and Android”。

      点击下载 Certificate Make,下载运行之后,回味 Fiddler 生产新的证书。


3.7 IOS 设备安装证书方法

  1. 打开 IOS 手机的 Safari 浏览器,输入 http://hostip:8888 ,其中 hostip 就是 Fiddler 所在的计算机上的 IP。在打开的网页中,单击“FiddlerRoot Certificate”,单击“允许”,下载证书。


  2. 单击“安装”,安装证书;                             
  3. 单纯安装还不行,要开启信任。设置 --> 通用 --> 关于本机 --> 证书信任设置 --> 勾选 “DO_NOT_TRUST_FiddlerRoot”。



3.8 设置过滤

在手机上设置好代理后, Fiddler 上会抓到 PC 端的和手机端的所有请求,可以设置过滤。

在 Fiddler 中,选择 Tools --> Options -->HTTPS,选择“from remote clients only”



3.9 注意

手机设置代理后,测试完了记得把代理关了,否则无法正常上网。


许可协议: 转载请保留原文链接及作者。