当前位置:首页>维修大全>综合>

fiddler抓包原理(fiddler抓包工具的详细使用步骤)

fiddler抓包原理(fiddler抓包工具的详细使用步骤)

更新时间:2025-06-20 03:06:37

fiddler抓包原理

fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据。

fiddler要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

fiddler是用C#写出来的,它包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,它的灵活性非常棒,可以支持众多的http调试任务,并且能够使用.net框架语言进行扩展。

fiddler支持断点调试技术,当你在软件的菜单—rules—automatic breakpoints选项选择before request,或者当这些请求或响应属性能够跟目标的标准相匹配,Fiddler就能够暂停Http通讯,并且允许修改请求和响应。

这种功能对于安全测试是非常有用的,当然也可以用来做一般的功能测试,因为所有的代码路径都可以用来演习。

一、Fiddler抓包原理解析

由于大多数的接口过分依赖前端界面限制,影响接口的健全性,比如:某个促销商品的限购数量是两件,在进行界面校验时是正确的,若接口不做校验,这时如果有人绕过前端界面直接抓取到接口,修改限购数量,此时接口依旧是可以通过的。这将会造成损失,所以必须要做接口测试。

在做接口测试时,必须要有详细的接口文档,接口测试通常是接口自动化测试的,有接口文档就可以直接进行使用了。那我们为什么要进行抓包呢?

1.为什么要进行抓包?

因为之前没有抓过包,所以一开始听到抓包这个词语,我也不是很明白为什么要进行抓包。

刚刚提到了要做接口测试,而做接口测试的前提就是有接口文档。

如果我们没有接口文档,就是在不知道接口的情况下,我们应该如何进行接口测试呢?还有就是此时我们已经有接口了,但我们想查看接口数据和接口的安全性时,就需要进行抓包,通过对网络上传输的数据进行抓取并对其进行分析。

2.为什么选择使用Fiddler进行抓包?

Firebug:可以进行抓包但是分析HTTP请求的详细信息还不够强大;模拟http功能也不够并且还需要“无刷新修改”,就是页面刷新之后将不会保存所有的修改。

Wireshark:过于庞大了,只用来抓取Http显得有些大材小用。

Httpwatch:只支持IE和firefox

Fiddler:可以记录客户端和服务器端的所有HTTP请求,可针对特定的HTTP请求分析请求数据、设置断点、调试Web应用、修改请求的数据,甚至可以修改服务器返回的数据。

当请求遇到报错的情况时,可以通过Fiddler抓取请求和响应,初步定位问题所在,查看请求的信息是否有误,服务器要返回的数据是否按实际情况下发。

二、Fiddler的工作原理和抓取HTTPS的流程

Fiddler再客户端和服务器中建立了一个代理服务器,它工作于七层中的应用层,可以捕获通过的HTTP(S)请求。启动之后会自动将代理服务器设置为本机。

2. Fiddler抓取HTTPS报文的流程

详细过程解析如下:

客户端请求建立HTTPS连接,发送客户端支持的加密协议和版本列表等信息给服务器;

Fiddler接受客户端的请求并伪装成客户端发送相同的请求给Web服务器;

Web服务器收到Fiddler的请求后,从请求中筛选出合适的加密协议并返回服务器CA证书,证书中包含公钥信息;

Fiddler收到服务器响应之后,保存服务器证书并自签名一个证书,伪装成服务器将该证书下发给客户端;

客户端验证证书的合法性(Fiddler能否抓取到HTTPS报文关键就看这一步了);

客户端生产对称密钥并使用自签名证书的公钥进行加密,发送给服务器;

Fiddler拦截客户端的请求之后,使用私钥解密该报文,获取对称密钥并使用CA证书的公钥加密,再发送给Web服务器;

Web服务器接收到客户端加密后的对称密钥,采用私钥解密,并使用对称密钥解密测试数据传给客户端;

Fiddler使用前面获取的对称密钥解密报文;

客户端验证数据无误后,HTTPS连接建立完成,此时客户端开始向服务器发送使用对称密钥加密的业务数据;

Fiddler使用前面获取的对称密钥解密客户端发送的数据并重新加密转发给客户端。

以上就是我对于Fiddler抓包的一些见解。

更多栏目