深入浅出Fiddler
Fiddler安装、常用配置、插件、捕获log日志
网上搜索的fiddler的使用一般都比较琐屑,没有看到一个完整的,因此集合整理一份
本文主要目的是讲解从小白一些常用的设置和基本使用,较深度的使用也有推荐文章,自行取阅
还有就是帮助小白上手,以及解决一些请求捕获不到、fiddler证书安装问题或者身边小伙伴经常遇到对fiddler的需求和问题
集合整理的内容见下方
安装
常用设置:配置端口、开启远程调试、配置本机HTTPS调试、查看HostIP
远程HTTPS调试以及抓取post请求
查看请求头响应头 等
转发规则
获取控制台Log输出信息(console)
使用Tips
一.安装
就直接官网下吧,windows/Mac/Linux三个系统都有,打不开的话自己翻个墙
二.常用设置
打开设置: Tools -> Telerik Fiddler Options
修改了任何设置保存后,一定要重新fiddler才能生效!!
修改了任何设置保存后,一定要重新fiddler才能生效!!
修改了任何设置保存后,一定要重新fiddler才能生效!!(重要的事情强调三次)
1.配置端口和开启远程调试
打开设置后 切换到Connections标签,
1) 配置端口: Fiddler listens on port: 8882
默认值为8888,但经常8888被占用,所以我换了8882,查电脑端口是否被占用自行百度吧。反正被占用了会不蹦正常使用
2) 开启远程调式,勾选上这个Allow remote computers to connect,手机连上和PC一样的局域网,手动设置代理,输入你的IP和上一步设置的端口号。
2.配置本机HTTPS调试
打开设置(Tools-> Fiddler Options)后 切换到HTTPS标签,
勾选 Capture HTTPS CONNECTs —— 捕获 HTTPS 连接
勾选 Decrypt HTTPS traffic —— HTTPS 请求解密
勾选 Ignore server certficate errors —— 忽略服务器端验证错误
不建议勾选 check for certificate revocation 检查证书是否过期
此时一般会弹出证书安装的3个确定提示框,选择yes-确定-确定即可。如果点击错了!或者没有弹出,见下方 "证书安装出问题的时候解决方案"
-
证书安装出问题的时候解决方案
原因:
一般是点击允许https的时候弹出安装证书的时候点错了。或者之前电脑安装了证书出问题
解决方案:
点击 actions 选择 Trust Root Certificate ,会重新弹出确定提示框。
点击 actions 选择 Reast All Certificates 重置,会先提示删除证书,然后再重复上面的安装步骤。
一般方案1能解决点错的问题,还是不行就是下方案2,还是不行评论说下。
还有记得重启啊!!!
3.查看HostIP
快捷键Ctrl+R 或者 菜单->Rules->Customize Rules…,
然后在CustomRules.js文件里Ctrl+F查找字符串:static function Main(),
然后添加一行代码即可显示IP,代码:FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP",120,"X-HostIP");
重启后生效!重启后生效!重启后生效!
效果
全部设置可以参考资料(基本翻译了一遍,版本有些差异,但基本不影响)的【fiddler界面详解】,页面内搜索 “Fiddler2 选项” 即可
三.远程获取HTTPS以及抓取post请求
配置好上一步的 一.1和一.2 之后。
手机浏览器输入 你电脑的IP:配置的端口号,比如PO主的Ip是192.168.1.230,一.1步设置了fiddler端口号是 8882,访问 192.168.1.230:8882 即可(记得替换成自己的啊!别傻傻的输入同一个)。用UC等非原生浏览器可能会下载不了 或者安装不了,所以一定要用原生浏览器打开!
打开下面的页面,点击下载FiddlerRoot certificate ,然后安装证书即可。
四.查看请求头响应头
剩下懒得打。。直接参考前面吧,写的很详细【fiddler界面详解】
注意的地方就是查看内容乱码的时候 Transformer 找到对应解析压缩的的模式即可
五.转发规则
本人常用的 选中一个js/css/请求 -> 右侧切换到autoresponseder -> add RULE 下方自行匹配
注意
注意
注意
1.要转规则生效一定要勾选右边的配置(见下图)
Enable rules: 生效转发规则(一定要选!!)
Unmatched requests passthrough: 允许不匹配规则的请求通过(一定要选!!不然其他请求都炸了)
Enable Lantency: 可以设置所有的规则的延迟(对着某条点击右键选择set lantency,输入>0的数就可以了)
2.默认添加规则的链接会有EXTRA:http:// 会准确捕获到对应的链接(包括?后面的后缀有一点不一样就不能转发到),所以自行去掉EXTRA吧。
想要复杂的 正则匹配等 去【fiddler界面详解】 搜 AutoResponder 即可。
六.获取控制台Log输出信息
推荐alloteam基于fiddler开发的插件Rosin。这个对解决H5兼容性问题有着极大的帮助。
注意事项:
要查看输出的json,一定要完整选中再右键查看,不然无效
偶尔出现卡顿,需要等待一会
只在windows尝试使用,OS应该不支持
七.常见问题
左下方可以快速切换是否捕捉(Capturing),挂着请求太多系统会炸
修改任何设置一定要记得重启!一定要记得重启!一定要记得重启!
shadowsocks(代理软件)的全局模式和fiddler不要一起用!
有些浏览器的请求捕捉不到,看自己是不是装了代理软件,就算关闭了代理也不行,必须处于禁用状态。本人chrome有代理插件,找了很久才发现,于是禁用了chrome隐身模式下的代理插件才能捕获到请求。
5.部分请求开启fiddler获取500的问题(关掉fiddler又正常了)
设置Rules->Performance->Disable Caching 后即可正常捕获到请求(重新后会失效)。
还是不行的话完全重启fiddler试下或者完全删除后重装fiddler
参考资料