一、Fiddler简介
Fiddler(中文名称:小提琴)是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的"进出"Fiddler的数据。Fiddler 要比其他的网络调试器要更加简单,并且更加强大,因为它不仅仅暴露http通讯还提供了一个用户友好的界面,并且提供了可自定义的脚本和插件拓展,这使得Fiddler成为功能较强大的抓包工具。
二、接下来我们先讲一下接口的概念:
URL大致会分为以下几个部分:
1.请求协议:
http — 普通的http请求
https — 加密的http请求,传输数据更加安全
ftp — 文件传输协议,主要用来传输文件
2.请求IP:就是指提供接口的系统所部署的服务器地址
3.请求端口:如果不填端口,默认是8080,否则需要填写端口号
4.接口路径:指系统提供的接口在什么位置
5.接口参数:参数在接口路径后,用“?”来表示路径地址完了,剩下的都是参数了,用“&”来区分参数个数
6.接口HTTP参数值
三、Fiddler功能特点
截获客户端 HTTP/HTTPS 的请求,分析与开发调试
解决开发接口跨域问题、资源访问限制问题
快速调试线上脚本,排除故障
进行弱网络环境模拟测试,暴露应用在弱网下的用户体验
进行接口性能测试
模拟各种网络攻击
四、Fiddler工作原理
首先fiddler截获客户端浏览器发送给服务器的https请求,此时还未建立握手。
第一步,fiddler向服务器发送请求进行握手,获取到服务器的CA证书,用根证书公钥进行解密,验证服务器数据签名,获取到服务器CA证书公钥。
第二步,fiddler伪造自己的CA证书,冒充服务器证书传递给客户端浏览器,客户端浏览器做跟fiddler一样的事。
第三步,客户端浏览器生成https通信用的对称密钥,用fiddler伪造的证书公钥加密后传递给服务器,被fiddler截获。
第四步,fiddler将截获的密文用自己伪造证书的私钥解开,获得https通信用的对称密钥。
第五步,fiddler将对称密钥用服务器证书公钥加密传递给服务器,服务器用私钥解开后建立信任,握手完成,用对称密钥加密消息,开始通信。
第六步,fiddler接收到服务器发送的密文,用对称密钥解开,获得服务器发送的明文。再次加密,发送给客户端浏览器。
第七步,客户端向服务器发送消息,用对称密钥加密, 被fidller截获后, 解密获得明文。
由于fiddler一直拥有通信用对称密钥, 所以在整个https通信过程中信息对其透明。
五、http状态码:
http://tools.jb51.net/table/http_status_code
六、Fiddler界面简介
Fiddler主要由四部分组成:工具栏、会话栏、命令栏、监控面板栏 。
以下介绍左侧会话面板的功能:
#: 请求的顺序,从1开始,按照页面加载请求的顺序递增。
Result : HTTP响应的状态
Protocol:请求使用的协议(如HTTP/HTTPS)
Host:请求地址的域名
URL:请求的服务器路径和文件名
Body:请求的大小,以byte为单位
Caching:请求的缓存过期时间或缓存控制header的值
Content-Type:请求内容编码类型
Process:发出此请求的Windows进程及进程ID
Comments :给请求添加备注
custom:用户可以通过脚本设置的自定义值
工具栏从左到右:
(1)气泡:备注。添加之后在会话栏的Comment列中显示备注内容。
(2)Replay:回放【常用】。重播一个会话。快捷键:”选中会话+R”
(3)清除会话面板:过滤请求、清除请求。
(4)Go:断点调式。配合状态栏上的断点工具。功能类似Debug。
(5)Stream:代理模式。默认:缓冲模式。点击进行切换。
(6)Decode:解压请求。解压http请求里面的东西,帮助查看。
(7)Keep:指示fiddler的保持会话数目。
(8)Find:查找请求。用颜色标注查找的请求。
(10)Save:保存会话。
(11)截图:默认5秒后截图。
(12)Browse:启动浏览器;
(14)Clear Cache:清空缓存;
如果想要抓包,我们首先确保Capture Traffic是否开启,在File –> Capture Traffic开启或关闭,也可以直接点击左下角的按钮来开启/关闭抓包功能。
上一条:Fiddler详细使用教程
下一条:抓包工具Fiddler大揭秘