服务端接口学习(5) - Fiddler基础

1. 下载安装

  • 下载路径:https://pc.qq.com/detail/10/detail_3330.html(选择普通安装奥!!!!)
  • 安装方式:常规安装方式,一路next即可。

2. Fiddler原理

Fiddler是以代理WEB服务器的形式工作的,浏览器/客户端与服务器之间通过建立TCP连接以HTTP协议进行通信,它使用代理地址:127.0.0.1,端口:8888
在这里插入图片描述
首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手。

第一步, fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。

第二步, fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事。

第三步, 客户端浏览器生成https通信用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获。

第四步, fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥。

第五步, fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后建立信任, 握手完成, 用对称密钥加密消息, 开始通信。

第六步, fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端浏览器。

第七步, 客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密获得明文。

由于fiddler一直拥有通信用对称密钥, 所以在整个https通信过程中信息对其透明。

3. Fiddler的使用

3.1 界面介绍

介绍比较详细的大佬,点击链接:Fiddler超详细界面介绍

3.2 开启、关闭抓包

  • 方式一:点击 File - Capture Traffic,打开后右下角位置会显示Capturing,关闭后Capturing会消失。
  • 方式二:快捷键F12。
  • 方式三:直接点击左下角Capturing。
    在这里插入图片描述

3.3 抓HTTPS包

  1. Tools - Options - HTTPS
    在这里插入图片描述
  2. 点击ok,点击是

3.4 各个字段说明

在这里插入图片描述

  • Result:http的状态码,200表示连接正常,另外还有404、400等。不必死记硬背,遇到了去查询即可。
  • Protocal:请求的协议,例如:HTTP、HTTPS、FPS等。
  • Host:请求的主机名。
  • URL:请求资源的地址。
  • Body:请求的大小。
  • Caching:请求的缓存过期时间或者缓存控制值。
  • Content-type:请求响应的类型。
  • Process :发送此请求的进程:进程ID。
  • Comments:允许用户为此回话添加备注。
  • Custom:允许用户设置自定义值。

3.5 不同图标含义(重要)

在这里插入图片描述

3.6 功能页签

3.6.1 Statistics

  使用Statistics可进行请求的性能数据的分析。
点击sougo,查看Statistics分析性能数据,如何分析?各指标含义?(遗留问题)

通过该页签,用户可以通过选择多个会话来得到这几个会话的总的信息统计,比如多个请求传输的字节数。访问页面时选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行速度性能优化。

可看出DNS解析时间2ms、TCP/IP连接时间30ms等。
在这里插入图片描述

3.6.2 Inspectors

  Inspectors用于查看数据内容,分为两部分:上面为请求内容,下面为响应内容。
在这里插入图片描述

3.6.3 AutoResponse(常用页签)

  可以抓取在线页面保存到本地进行调试,减少在线调试的困难,可以修改服务器端返回的数据,例如让返回都是404的数据包读取本地文件作为返回内容。

3.6.4 composer页签(常用页签)

  支持手动构建和发送HTTP,HTTPS和FTP请求,我们还可以从回话列表中拖曳回话,把它放到composer选项卡中,当我们点击Execute按钮时则把请求发送到服务器端。

感觉和Postman中的get post等功能相似。
在这里插入图片描述

3.6.5 Filters页签(常用页签)

  过滤器,可以对左侧的数据流列表进行过滤,我们可以标记、修改或隐藏某些特征的数据流。

3.7 如何查找自己需要的请求

3.7.1 清屏

屏幕内容过多时,可以使用命令行进行屏幕清理。在左下角命令行输入cls+回车。如下图:
在这里插入图片描述

3.7.2 抓包

在浏览器输入url地址的时候,记住这个地址,如打开csdn首页:https://blog.csdn.net/qq_38870503/。

点击登录按钮,注意不要做其他操作,然后查看fiddler会话框,这时候有好几个请求。host地址是http://blog.csdn.net,qq_38870503是url的路径,也就是csdn本人首页的地址啦。
在这里插入图片描述

3.8 GET与POST

  • GET
    通过查看get请求的Raw参数,可确定get主要分三部分:

–第1部分是请求url地址

–第2部分是host地址

–第3部分是请求头部信息header
在这里插入图片描述

  • POST
    前面3块内容都一样,第3部分和第4部分中间会空一行

–第4部分内容就是post请求的请求body(get请求是没body的)
在这里插入图片描述

3.9 如何设置断点?

4. Fiddler与Charles区别

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值