【腾讯TMQ】十分钟学会Fiddler

本文详细介绍了Fiddler,一个强大的HTTP抓包工具,包括其工作原理、如何解密HTTPS通信以及常见的使用场景,如模拟白屏、修改网络请求、本地文件映射调试等。Fiddler以其易用性和强大的功能,成为开发者和测试人员的得力助手。
摘要由CSDN通过智能技术生成

一.Fiddler介绍

Fiddler是一个http抓包改包工具,fiddle英文中有“欺骗、伪造”之意,与wireshark相比它更轻量级,上手简单,因为只能抓http和https数据包,所以在针对http和https数据包的抓取上它更加专业。不仅可以记录客户端和服务器的http(s)请求,还能设置断点,修改请求和响应的数据,模拟弱网络环境。如果这些还满足不了你的需求,你还可以安装插件对Fiddler现有的功能进行扩展,甚至编写脚本实现一些自动化操作。

二.Fiddler的工作原理

当我们浏览网页的时候,实际上浏览器会通过tcp连接以http数据包的形式向服务器发起请求的,服务器在接收到请求后会根据后台代码逻辑做出不同的响应。以上是系统中没有代理,用的是直连网络的情况。这时候如果系统中设置了静态http代理,那么浏览器所有外发的http请求会被重定向到代理服务器,代理服务器会根据请求的目的ip将请求再转发至相应的服务器。同理,服务器返回给浏览器的数据也要经过代理这一层。其实Fiddler所做的和代理服务器是一样的事情,当我们启用Fiddler之后,ie的http(s)代理会自动被设置为127.0.0.1:8888(之所以这么设置是因为Fiddler是在本地8888端口进行监听的), 所有http(s)会话的都会被Fiddler拦截。Fiddler监听的端口号可以在下面这个地方更改:

使用http://localhost:8888/可以访问到Fiddler的echo服务。

至于Fiddler为啥可以抓https包,其实是利用了类似中间人攻击的技术,看下面这张图:

在了解Fiddler解密https的原理之前,我们首先要知道标准的https通信原理。在https通信中,运用到了两种加密技术——对称加密技术和非对称加密技术(RSA),非对称加密用来在握手过程中传输对称秘钥,而对称加密技术是握手完成之后实际使用的通信加密技术。
https实际通信过程可以分为两步走:
第一步,客服端和服务器协商通信使用的密钥(对称密钥)。
这个过程可以简单描述为——客户端发起请求获取服务器的证书,证书里包含了服务器的RSA公钥。客户端生成通信用的对称密钥,使用服务器的公钥加密后传输给服务器。服务器接收到之后使用自己的RSA私钥解密得到传输用的明文秘钥。
第二步,客服端和服务器使用协商好的密钥进行加密通信。
了解以上常识后我们再看Fiddler解密https的过程其实不难:
1.客户端发起请求,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值