赞
踩
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.dll
和 FiddlerTexts.txt
。
其中:
FiddlerTexts.txt
:汉化的单词库,可自行添加针对的单词与翻译结果。FdToChinese.dll
:汉化的插件FiddlerTexts.txt
移动到 Fiddle
安装的本地根目录下假设我这里
Fiddle
安装的目录是:C:\Users\10461\Soft\Fiddler
FiddlerTexts.txt
移动到 Fiddle
安装的本地目录下的 Scripts
目录下再重启一次 Fiddle
,即可完成汉化。
先介绍一下它的工作原理:
如下图:Fiddle 抓包工具其实就是相当于一个中间件,为客户端与服务端之间的通信通道建立一个 Proxy 的代理中转站,可在此中间件中截取并处理发出与返回的请求响应体。
现在可以对要抓包的客户端进行配置了,这里以移动端的 IOS 设备为例:
先确保 IOS 设备与电脑网络处于同一局域网中:
一般来说,当手机与电脑连接到同一个 WiFi 热点便是处于同一个局域网,这样做目的是为了让IOS设备发出的请求经过电脑的 Fiddle 中转站并进行处理。
连接到同一个热点之后,可通过手机设置->无线局域网->选择对应热点,查看设备IP地址:
在电脑端通过 ping
命令看两边是否能够通信:
能够正常通信就代表处于局域网中,可以进行下一步的 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伪证书进行安装
安装成功之后,可点击 action > Open Windows Certificate Manager
查看证书
4、配置完之后记得重启 Fiddler。
1、打开手机设置->无线局域网->选择对应WiFi热点->详细信息->配置代理,选择手动,输入以下信息之后,点击“存储”:
服务器
:Fiddle 所处电脑的 ip 地址通过
ipconfig
命令可查看:
端口
:Fiddle 监听的端口,如 9090
此时,可以查看下 IOS 设备访问 http 网站,Fiddle 能否抓到包:
假设访问
http://testingpai.com
成功抓取到 http 协议网站的数据包!
如上,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";
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。