【小结】fiddler
fiddler是一款抓取HTTP/HTTPS协议的抓包工具。用fiddler捕获请求以便排查错误原因,用fiddler仿真一次http请求,通过设置请求断点和响应断点来修改数据观察测试
现象是在工作中比较常用的。
抓包分析:抓取客户端与服务端通讯的数据,在此基础上进行分析。
fiddler是以一个web服务器代理的形式工作的。以两张图来说明


fiddler截获浏览器发送给服务器的数据,冒充浏览器发送给服务器;服务器返回的数据,也会被fiddler截获,经fiddler返回浏览器
代理工作的默认IP是127.0.0.1,默认端口是8888
使用fiddler打开浏览器时,fiddler会自动修改浏览器的代理使之指向fiddler,关闭浏览器之后,fiddler会自动清除代理。

非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的
私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
使用HTTPS 协议进行通讯,分成证书验证和数据传输两个阶段,HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。相较对称加密算
法,非对称加密算法安全性高,但是效率低,http 的应用场景中通常端与端之间存在大量的交互,非对称加密的效率是无法接受的。
首先我们需要安装fiddler的根证书并主动把它添加到受信任(计算机认可)的根证书颁发机构
以请求https://www.baidu.com为例
1、截获服务器的公钥----当浏览器发送请求后,也就是证书验证阶段,百度会将自己的CA证书以及百度的公钥返回,被fiddler截获
2、用假证书骗浏览器----Fiddler伪造自己的CA证书包含伪造的公钥发给浏览器
3、浏览器用假公钥加密对称密钥----由于fiddler的根证书是受信任的,浏览器就用伪造的公钥加密生成的随机数(对称秘钥),往服务器端发,又被fiddler截获
4、截获数据传输用的对称密钥----fiddler用自己私钥解开随机码,获得通讯的对称秘钥
5、模拟浏览器重发请求给服务器----fiddler用百度的公钥加密对称秘钥,然后传给百度,百度用自己私钥解开对称秘钥,这样双方就能使用加密传输了
1.下载
官网(FQ):https://www.telerik.com/fiddler
fiddler2适用于win7和xp系统
fiddler4适用于win8+,这里可能需要安装.net framework4.0+
2.设置
(1)抓取本机谷歌http请求无需设置,开箱即用
(2)抓取本机谷歌https请求:
参考:https://www.cnblogs.com/joshua317/p/8670923.html
https://www.cnblogs.com/tu-0718/p/10895607.html
(3)抓取手机app请求
参考:https://www.cnblogs.com/sucretan2010/p/11526467.html

选中右侧composer面板,将要测试的请求从会话列表中拖拽到composer面板下,修改参数数据,点击execute
可以利用仿真构造测试分页效果时的数据
抓包获取要修改的http请求的会话,点击rules->automatic breakpoints->before requests,选中该请求,点击replay,再次发送请求,修改请求的数据,点击run to
completion

验证服务端是否对数据进行了相关校验,如:注册会员功能
rules->automatic breakpoints->after responses,浏览器中刷新页面(客户端向服务端发起一次请求),fiddler中选中要修改请求,修改响应数据,点击run to
completion
验证前端的显示,如下图

手机端模拟数据返回的时候需要先右键会话保存整个响应信息,修改后通过设置替换掉原来的响应信息,具体的做法参考下面这篇文章
https://www.jianshu.com/p/ab417b6f6a59
以上设置的断点是全局断点,还可以通过命令行对某个请求打断点

浙公网安备 33010602011771号