Fiddler(1)基本介绍以及工作原理,如何抓获http请求和https请求

fiddler基本介绍:

Fiddler的官方网站:  www.fiddler2.com

Fiddler 是一个 HTTP 协议调试代理工具,它能够记录并检查所有客户端和服务器的http和https请求。Fiddler 提供了电脑端、移动端的抓包、包括 http 协议和 https 协议都可以捕获到报文并进行分析;可以设置断点调试、截取报文进行请求替换和数据篡改,也可以进行请求构造,还可以设置网络丢包和延迟进行 APP 弱网测试等。

你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法. 你越使用Fiddler,就越能帮助你了解HTTP协议.

 

fiddler工作原理:

Fiddler 是一款以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888,这是fiddler的默认端口

当Fiddler会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.

  • 数据传递流程大致如下:
    1. 客户端向WEB服务器发送HTTP(S)请求时,请求会先经过代理Fiddler代理服务器。
    2. Fiddler代理服务器截取客户端的请求报文,再转发到WEB服务器,转发之前可以做一些请求报文参数修改的操作。
    3. WEB服务器处理完请求以后返回响应报文,Fiddler代理服务器会截取WEB服务器的响应报文。
    4. Fiddler处理完响应报文后再返回给客户端。
 如何抓取HTTP请求:

fiddler默认就可以抓取电脑的http请求,可以查看statistics信息,可以查看抓取包的开始时间及响应时间,Inspectors选项可以查看请求和响应的详细信息

Raw表示原数据格式,还可以查看fiddler日志等。

如何抓取HTTPS请求:

现在APP中的数据传输基本上都使用HTTPS传输,传输的数据都是经过加密的,这增加了我们分析数据包的难度,还好Fiddler除了可以抓取HTTP数据包,还可以抓取HTTPS数据包。由于HTTPS传输需要使用到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使用前面获取的对称密钥解密客户端发送的数据并重新加密转发给客户端。

 

posted @ 2024-03-26 08:38  越长大越孤单哦  阅读(32)  评论(0编辑  收藏  举报