Fiddler抓包流程

Fiddler抓包https流程:

1、fiddler接获客户端发给服务器的HTTPs请求,Fiddler伪装成客户端向服务器发送请求进行握手 。

2、第二步,服务器发回相应,Fiddler获取到服务器的CA证书, 用根证书(这里的根证书是CA认证中心给自己颁发的证书)公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。然后Fiddler伪造自己的CA证书(这里的CA证书,也是根证书,只不过是Fiddler伪造的根证书), 冒充服务器证书传递给客户端浏览器。

第三步,与普通过程中客户端的操作相同,客户端根据返回的数据进行证书校验、生成密码Pre_master、用Fiddler伪造的证书公钥加密,并生成HTTPS通信用的对称密钥enc_key。

第四步,客户端将重要信息传递给服务器, 又被Fiddler截获。Fiddler将截获的密文用自己伪造证书的私钥解开, 获得并计算得到HTTPS通信用的对称密钥enc_key。Fiddler将对称密钥用服务器证书公钥加密传递给服务器。

第五步,与普通过程中服务器端的操作相同,服务器用私钥解开后建立信任,然后再发送加密的握手消息给客户端。

第六步,Fiddler截获服务器发送的密文, 用对称密钥解开, 再用自己伪造证书的私钥加密传给客户端。

第七步,客户端拿到加密信息后,用公钥解开,验证HASH。握手过程正式完成,客户端与服务器端就这样建立了”信任“。

————————————————————————

用finddler录制jmeter脚本

fiddle4.jmeter3.3

一、下载fiddler两个扩展包

FiddlerExtensions.dll及FiddlerExtensions.pdb(这2个文件是为了扩展Fiddler的导出功能,支持导出JMeter使用的.jmx格式文件),拷贝至Fiddler\ImportExport目录下

二、录制脚本

1、用filter过滤部分条件

1) 选择“UseFilters”

2) 在下面的下拉框中选择“Show only the following Hosts”,并在输入框中填入Hosts名称,如*.baidu.com;

3) 在Requests Headers中勾选“Hide if URL contains”,填入.css .js .gif .png .jpg .swf 用以过滤css/js/图片等类型请求

4) 根据需要,可在下面“Respons Status Code”中勾选“Hide non-2xx”用以过滤非2xx返回码(即失败)的请求

5) 最后点击右上角Actions -> Run Filterset Now,开始运行Filer过滤

2、脚本录制

1) 打开Chrome浏览器,录制我们的操作:先打开百度首页www.baidu.com,后进行一次搜索,如搜索lovesoo,可以看到Fiddler经过过滤之后,只抓取了我们对Hosts: baidu.com的操作

2)对于请求,我们可以添加相关注释:选中Http请求 ->右键选中并点击Comment…

3) 在Fiddler中删除非必须的Http请求,只保留访问百度首页及搜索的请求:右键选择Remove -> Selected Sessions

3、导出脚本

1) 在Fiddler中选择File -> Export Sessions -> All Sessions

2) 选择导出类型为JMeter,点击Next按钮保存即可 

三、JMeter使用fiddler录制的脚本

1) 运行Jmeter,打开我们刚才保存的jmx文件

2) 新建线程组(点击测试计划,右键选择Threads(users) -> 线程组),并将这2个Http请求拖到线程组下

3)在jmeter中启动测试即可。

上一篇:谷粒商城-后端删除(逻辑删除)


下一篇:二进制方式搭建Kubernetes集群