fiddler使用笔记(强大好用的web调试工具)
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,
设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。
Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式
工作原理
在客户端和服务端中作为一个代理服务器;代理地址127.0.0.1,默认端口8888;
当Fiddler会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,
这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler或者重置internet设置。
客户端--------------》fiddler-----------》服务器
对HTTP/https请求进行检测。还可以进行伪造请求。测试网站性能。解密https的web会话。
fiddler还提供相关的第三方插件来完善fiddler更多的功能。
代理模式:
流模式streaming:将客户端的请求数据实时的传给服务端
缓冲模式buffering:将客户端的请求数据缓冲起来,等数据写完之后再传给服务端
node示例:
var http = require("http");
http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type' : 'text/plain'});
res.write('buffer data');
setTimeout(function() {
res.end("Hello world\n");
}, 10000);
}).listen(3000, '127.0.0.1');
console.log("Server running at http://127.0.0.1:3000");
缓冲模式:http请求所有的数据都准备号之后才把数据返回客户端;只有当调用res.end这个方法。
才能把这个数据返回给浏览器。可以控制最后的服务器响应。
流模式:不一定要等到res.end,就能返回。更接近于浏览器本身的真实行为。
fiddler安装
下载地址:http://www.telerik.com/fiddler
firefox插件安装;fiddler hook插件。
文档地址:http://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler
视频教程需要翻墙才能观看
fiddler使用场景:
开发环境的host配置:
前后端接口调试
线上bugfix
性能分析和优化
工具条常用功能
增加备注:(可以为检测条目增加备注);选中会话添加备注。
回放按钮:复制会话,对捕获的会话进行复制回放,选中条目点击回放即可看到效果。
清空监控面板:可以自定义过滤监控请求。
go按钮:调试debug,我可以请求断点的时候进行请求断点。
点击设置断点,然后复制会话,发现会话执行到断点上,如果要继续往下执行就点击go按钮。
模式切换:流模式和缓冲模式之间进行切换。
decode:解压请求,将HTTP请求里面的东西给解压出来。查看更加方便。
keep:all sessions:保持多少会话。可以选择保持的会话数。
any process:过滤请求。点击any process 拖到到想要捕获的浏览器。可以实现过滤请求。
查看功能:会话数量比较多。可以查找,过滤并用不同颜色去标示。
保存按钮:对检测的会话进行保存。
保存截图:当我们点击后会有个倒计时,计时后帮我们截图。
计时器;
快速启动浏览器:
clear cache;清除浏览器的缓冲。
textWizard:编码和解码的一些内容。对文本信息进行解码。base64,urlencode,urldecode
tearoff:浮窗;
msdn搜索;.net开发。
状态面板功能
控制台: 可以输入一些命令行;输入help:可以看到常见的命令行;
控制fiddler是否工作: capturing;左下角,显示capturing表示正常工作。
过滤会话来源:web brower对会话进行过滤;
记录当前展示会话的数量。
状态条显示;
监控面板使用(核心功能)
条目解析:
http状态码:条目协议:主机地址域名:服务器IP:请求url
statistics:请求的性能指标;全世界范围的性能测试;RTP:一个请求的从发送出去到返回的时间;
show chart可以看出图表的示例;
inspectors:对请求解包:
header:请求头信息。UA,cookie,发送请求来源。
textView:可以看到返回的数据;
imageview:可以看到返回的图片(如果有图片返回的话)
webforms:看到请求传递的信息;
cookies:请求携带的cookie;
response header:
autoresponder:文件代理:可以使用fiddler来自定义请求返回的文件。
当我们线上的出现bug的时候,可以使用线上返回 的文件在本地做一个修改,看看bug是否解除。
composer:前后端接口联调:可以将条目拖到composer然后进行模拟执行;伪造请求。不写js实现跟服务器交互。类似postman
log:使用fiddler的日志;
timeline:网站性能分析:一个网站的请求多个网站请求进行,选中查看timeline查看请求详情。