Fiddle 介绍

Fiddle 是位于客户端与服务端之间的代理工具,也是目前主流的抓包工具之一。它通过在客户端(电脑、移动设备)建立请求代理工具,截取到它向服务器发送的所有请求并进行一定的处理。
它可以分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

下载、安装

Fiddle 官网:https://www.telerik.com/fiddler

可选项:

  • Fiddle Evrywhere :可在Mac、Linux、Windows 系统平台上运行的跨平台应用
  • Fiddle Classic:针对 Windows 系统的完整库
  • Fiddle Jam:Web 平台的调试库
  • Fiddle Cap:针对 Windows 系统的轻量级库
  • Fiddle Core:Fiddle 的基础库,可嵌入到其他应用程序中

在这里插入图片描述
这里以 Fiddle Classic 为例,点击 Try For Free 填写相关信息,下载好并安装到本地指定路径之后,打开进行下一步的配置。

汉化

链接:https://pan.baidu.com/s/1wWgVqrXlh0Gjpbwlg6pPNA
提取码:xq9t

下载到本地之后,得到了两个文件 FdToChinese.dllFiddlerTexts.txt

在这里插入图片描述
其中:

  • FiddlerTexts.txt:汉化的单词库,可自行添加针对的单词与翻译结果。
  • FdToChinese.dll:汉化的插件
步骤
  1. FiddlerTexts.txt 移动到 Fiddle 安装的本地根目录下

假设我这里 Fiddle 安装的目录是:C:\Users\10461\Soft\Fiddler
在这里插入图片描述

  1. FiddlerTexts.txt 移动到 Fiddle 安装的本地目录下的 Scripts 目录下

在这里插入图片描述

再重启一次 Fiddle ,即可完成汉化。
在这里插入图片描述

工作原理:

先介绍一下它的工作原理:

如下图:Fiddle 抓包工具其实就是相当于一个中间件,为客户端与服务端之间的通信通道建立一个 Proxy 的代理中转站,可在此中间件中截取并处理发出与返回的请求响应体。
在这里插入图片描述

抓包工具配置

现在可以对要抓包的客户端进行配置了,这里以移动端的 IOS 设备为例:

先确保 IOS 设备与电脑网络处于同一局域网中:

  • IOS 设备:客户端
  • 电脑:Proxy 请求代理中转站(Fiddle)

一般来说,当手机与电脑连接到同一个 WiFi 热点便是处于同一个局域网,这样做目的是为了让IOS设备发出的请求经过电脑的 Fiddle 中转站并进行处理

连接到同一个热点之后,可通过手机设置->无线局域网->选择对应热点,查看设备IP地址:

在这里插入图片描述

在电脑端通过 ping 命令看两边是否能够通信:

在这里插入图片描述
能够正常通信就代表处于局域网中,可以进行下一步的 Fiddle 配置。

Fiddle 工具代理配置

1、打开Fiddler,选择工具栏 Tools -> Options -> Connections ,做如下配置:

在这里插入图片描述

  • Fiddler Classic listens on post:表示Fiddler监听的端口号,数值可以随意设置,只要保证不和其他软件的端口号冲突即可

  • Act as system proxy on startup:在Fiddler启动的时候作为系统代理,这样Fiddler能够默认抓取到本地电脑端浏览器的请求,这里我们聚焦在移动端,所以可以把此选项关闭

  • Allow remote computers to connect:允许远程设备进行连接,必须要勾选,否则抓取不到移动端设备的请求包

2、选择 HTTPS ,做以下配置,这一步目的是为了能够抓取到https请求:

在这里插入图片描述

3、点击右上角 Actions -> 选择Trust Root Certificate ,弹窗中全部选择“yes”,这一步是将Fiddler伪证书进行安装

在这里插入图片描述

  • yes
    在这里插入图片描述

  • 在这里插入图片描述
  • 安装成功
    在这里插入图片描述

安装成功之后,可点击 action > Open Windows Certificate Manager 查看证书

在这里插入图片描述

在这里插入图片描述

4、配置完之后记得重启 Fiddler。

IOS 设备端配置代理

1、打开手机设置->无线局域网->选择对应WiFi热点->详细信息->配置代理,选择手动,输入以下信息之后,点击“存储”:

  • 服务器:Fiddle 所处电脑的 ip 地址

通过 ipconfig 命令可查看:

在这里插入图片描述

  • 端口:Fiddle 监听的端口,如 9090

在这里插入图片描述
此时,可以查看下 IOS 设备访问 http 网站,Fiddle 能否抓到包:

假设访问 http://testingpai.com
在这里插入图片描述

成功抓取到 http 协议网站的数据包!

IOS 设备安装 Fiddle 伪证书

如上,Fiddle 已经能抓到 http 协议网站的数据包了,但是无法抓取到 https 安全协议的网站数据包,我们还需要为 IOS 设备本地安装 Fiddle 的伪证书才可以。

假设未安装伪证书访问 https://www.baidu.com 会出现:
在这里插入图片描述
Fiddler端请求呈灰色显示状态,并且提示Tunnel To(表示建立https链接隧道中)
在这里插入图片描述

安装步骤

1、IOS 设备端访问 http:/192.168.0.102:9090,会出现以下界面,访问 Fiddle 内置服务,点击 FiddlerRoot certificate 链接,允许下载:

在这里插入图片描述
2、进入手机设置 -> 通用 -> VPN与设备管理 -> DO_NOT_TRUST_FiddlerRoot -> 安装描述文件

在这里插入图片描述
3、手机设置 -> 通用 -> 关于本机 -> 证书信任设置,勾选DO_NOT_TRUST_FiddlerRoot

在这里插入图片描述
最后随便打开一个 https 协议的网站,便可以在 Fiddle 抓取到数据包了!!!

在这里插入图片描述

问题解决

1、如果遇到 IOS 设备安装了 Fiddle 伪证书之后,连接WiFi 显示无网络,且其他 APP 正常,但浏览器无法上网的情况,可做如下配置:

1、运行输入regedit 打开注册表,右键添加一个 DWORD 键值,输入 80

在这里插入图片描述

2、Fiddler添加规则 Rules -> Customize Rules。 加入以下代码:

if (oSession.host.toLowerCase() == "webserver:9090") {
	oSession.host = "webserver:80";
}

在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐