fidder抓包原理及content-type类型

fidder抓包原理简介

  1. 客户端像WEB服务器发送HTTP(S)请求时,请求会先经过Fiddler代理服务器。
  2. Fiddler代理服务器截取客户端的请求报文,再转发到WEB服务器,转发之前可以做一些请求报文参数修改 的操作
  3. WEB服务器处理完请求以后返回响应报文,Fiddler代理服务器会截取WEB服务器的响应报文。
  4. Fiddler处理完响应报文后再返回给客户端。
    在这里插入图片描述

fidder抓包https原理

现在基本上都使用HTTS传输,传输的数据都是经过加密的,这增加了我们分析数据包的难度,由于H TTPS传输需要使用到CA证书,所以抓取HTTPS数据包时需要做一些特殊配置。Fiddler截取HTTPS 报文的流程大致如下:在这里插入图片描述

  1. 客户端请求建立HTTPS链接,发送客户端支持的加密协议及版本列表等信息给服务器端。
  2. Fiddler接受客户端请求并伪装成客户端向WEB服务器发送相同的请求。
  3. WEB服务器收到Fiddler的请求以后,从请求中筛选合适的加密协议。并返回服务器CA证书证书中包括公钥信息
  4. Fiddler收到WEB服务器的响应后保存服务器证书并自签名一个CA证书,伪装成服务器,把该证书下发给客户端。
  5. 客户端验证证书合法性。(Fiddler能否抓取到HTTPS报文关键看这一步)
  6. 客户端生产对称密钥,通过证书的公钥加密发送给服务器。
  7. Fiddler拦截客户端的请求以后,使用私钥解密该报文,获取对称加密秘钥,并使用服务器证书中带的公钥加密该对称密钥发送给WEB服务器。此时对称密钥已经泄露了,以后可以使用该秘钥界面客户端和服务器端传输的数据。
  8. WEB服务器接收到客户端发送的加密的对称密钥后使用私钥解密,并使用对称密钥加密测试数据传给客户端。
  9. Fiddler使用前面获取的对称密钥解密报文
  10. 客户端验证数据无误以后HTTPS连接就建立完成,客户端开始向服务器发送使用对称密钥加密的业务数据
  11. Fiddler使用前面获取的对称密钥解密客户端发送的数据并重新加密转发给服务器端。

Fidder在此时就相当于一个双面间谍一样,对服务器来说它是客户端,对客户端来说它是服务器端,能够同时获得客户端和服务端加密的内容

常见的content-type

  1. application/x-www-form-urlencoded:这应该是最常见的提交数据的方式了。数据被编码为名称/值对,这是标准的编码格式
  2. multipart/form-data:一般用在发送文件的POST包,另外,还有boundary用于分割数据。当文件太长,HTTP无法在一个包之内发送完毕 ,就需要分割数据,分割成一个一个chunk发送给服务端, 那么boundary用于区分数据块, 而后面的数据就是标示区分包作用
    在这里插入图片描述
  3. text/xml:通过XML 形式将数据发送给服务器
  4. application/json:通过json形式将数据发送给服务器,现在越来越多的应用使用application/json,由于 JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON. stringify,服务端语言也都有处理 JSON 的函数,使用 JSON 不会遇上什么麻烦。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

b u g

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值