Appearance
Fiddler安装与使用
简介
Fiddler 是一款功能强大的网络调试工具,广泛应用于接口测试、性能分析和网络调试等场景
测试人员使用场景
类型 | 场景 |
---|---|
定位问题 | 捕获和查看 HTTP 请求,判断传入与返回参数是否正确 |
修改请求和响应 | 在请求发送到服务器之前或响应返回给客户端之前,可以修改请求头、请求体和响应体,便于验证特定场景 |
调试 HTTPS 请求 | 通过安装 Fiddler 的根证书,可以解密 HTTPS 流量,查看加密请求和响应的详细内容 |
安装
随便选个用途,填写邮箱,地区选择China,勾选"I accept the Fiddler End User License Agreement"
配置
HTTPS配置
安装完成后,打开程序,在Progress Telerik Fiddler Web Debugger菜单栏中,Tools——Options
HTTPS配置 勾选Capture HTTPS CONNECTs、Decrypt HTTPS traffic、Ignore server certificate errors(unsafe)。
点击OK保存。
弹出对话框"SCARY TEXT AHEAD:Read Carefully!",点击YES。
弹出对话框"安全警告",询问是否安装证书,点击是。
弹出对话框"Add certificate to the Machine Root List?",点击YES。
弹出对话框"TrustCert Success",点击确定。
再点击一下options中的ok,以防忘记保存配置。
from all processes :
抓取所有的 https 程序, 包括电脑程序和手机APP。
from browsers only :
只抓取浏览器中的https请求。
from non-browsers only :
只抓取除了浏览器之外的所有https请求。
from remote clients only:
只抓取远程的客户端的https请求,就是只抓取手机APP上的https请求。
如果HTTPS请求出问题,例如,浏览器提示"您的链接不是私密链接"等,一般都是证书安装有问题,重新安装一遍证书,重复一遍HTTPS配置即可。 Options——HTTPS——Actions——Trust Root Certificate。
Connections配置
Fiddler listens on port,确保fiddler的端口为8888,勾选Allow remote computers to connect,弹出对话框"Enabling Remote Access"对话框,点击确定。
Scripting配置
Scripting用于:编写脚本来增强 Fiddler 的功能,实现更复杂的网络调试和自动化操作。 这里选C#或者http://Jscript.NET
解决fiddler自动关闭
某些情况下环境中安装了一些银行的插件,会导致抓包停止,需卸载插件 在控制面板,卸载人行征信安全控件。 删除C:\Windows\Prefetch路径下PBCCR开头的.pf文件
删除C:\Windows\SysWOW64下面的PBCCRCNew文件夹。 重新启动Fiddler.exe。
PC端抓包
PC端抓包
电脑端的网络请求,可以直接在fiddler中看到效果。
小程序抓包
打开微信PC端,进入小程序面板,选择小程序。就可以在fiddler中看到小程序的网络请求了。
APP抓包
配置
首先你的Fiddler所在的电脑和手机必须处在同一个局域网内(即连着同一个路由器)。
查看你的本机IP地址,在Fiddler的右上角有一个Online按钮,点击一下会显示你的IP信息
配置连接信息:Tools > Options >Connections
- 端口默认是8888,你可以进行修改。
- 勾选Allow remote computers to connect选项,然后重启Fiddler,再次打开时会弹出一个信息,选择ok即可
打开你的手机WIFI,长按选择修改网络,输入密码后往下拖动,然后勾选显示高级选项,然后在代理一栏选择手动,再将你先前查看的IP地址和端口号输入进去,然后保存。
最后安装手机证书,在手机浏览器一栏输入电脑的IP地址和端口号 例:这里是 192.168.1.157:8888 进入一个网页,点击最下面那个FiddlerRoot certificate下载证书,下载成功后在设置里面安装,安装步骤:打开高级设置->安全->从SD卡安装证书->找到证书文件->点击后为证书命名点击确定即可安装成功
测试一下,比如在手机上打开抖音app,找到评论的那一个请求。
修改HTT请求
设置断点
打开Fiddler,再打开浏览器
全局断点。点击下图所示的 Before Requests 或快捷键F11即可。这种方法会拦截所有的请求;如果要取消断点,则点击下图中的disabled或使用快捷键Shift+F11。
单个断点。只拦截某个请求,假设要拦截百度的请求,则在左下角的QuickExec命令行中输入 "bpu www.baidu.com";取消断点则输入 "bpu"
用其中一种方法设置断点后重新打开百度,可以看到图标变成红色,表示已经被成功拦截
修改http请求
释放断点,否则后续的请求会继续被拦截
点击拦截到的请求,在右侧的【Inspectors】面板中,选中Raw选项卡,修改Host为"www.jd.com",然后点击绿色的"Run to Completion"释放请求
可以看到,已经成功地跳转到京东的首页
修改HTT响应
全局断点,点击下图的After Responses或快捷键Alt+F11,取消断点同样是点击Disabled
浏览器打开百度,在fiddler中点击拦截到的请求
在右侧的【Inspectors】面板中,选中Response下的Raw选项卡,添加标签 "我是百度",然后点击绿色的"Run to Completion"释放请求
4. 可以看到,百度首页多了一句废话。