品牌型号:联想ThinkPad X1
系统:Windows10 家庭版
软件版本:Fiddler 4
在如今的数据时代,网络数据安全备受重视,https凭借加密手段成为保障数据传输安全的标配。在网络调试过程中,经常需要用到Fiddler。Fiddler如果想要解密https流量,就必须要安装其根证书,才能取得https的信任,解密查看其中信息。而把https变成http,则是出于方便测试分析的考量,http数据在开发人员面前显得“一览无余”,方便测试时查找网络请求中的各类问题。下面就给大家详细讲解一下Fiddler为什么要安装证书,Fiddler为什么会把https变成http的相关内容。
一、Fiddler为什么要安装证书
不少新手在运用过程中,总会有疑问:Fiddler为什么要安装证书?
因为Http协议是不安全的,很容易被抓包软件拦截并进行修改。随着现在大家对网络数据安全的重视,大部分的数据都采用了加密手段,HTTPS就是通过TLS/SSL加密协议加密的。而Fiddler作为代理服务器,是没有权限直接解析Https数据包的,未安装证书时,Fiddler通常只能捕获到HTTP数据包。

开发测试中难免需要捕获HTTPS数据包,因此需安装Fiddler根证书以获取客户端信任。了解了为什么要安装证书,再给大家补充一下如何安装证书:
1、先启动Fiddler,在菜单栏中找到tool(工具),在里面找到Options(选项)并点击进入。

2、在Options(选项)跳出的页面里,切换到HTTPS(超文本传输安全协议)这一栏,在该栏下选择Capture HTTPS CONNECTs(捕获Https连接)。

3、这样就可以捕获到Https数据包了。但上文也说过Https数据是经过加密的,所以我们还需要将Decrypt HTTPS traffic(解密Https流量)也勾选上,接着就会跳出来一个界面。这是Fiddler生成的根证书,点击“YES”完成安装,这样我们就可以抓获和解析Https数据了。

4、我们安装完之后,点击Https界面,在左上角有个Actions(动作)选项,点击展开后找到第三个选项Open Windows Gertificate Manager(打开Windows证书管理器)进行查看。

5、在Windows证书管理器中,找到受信任的根证书颁发机构选项,然后点击证书这一个文件夹。接着右边窗口里会出现该计算机目前所有安装的证书。我们在这堆证书里面找到DO-Not-Trust-FiddlerRoot,这就是我们在Fiddler中安装的根证书。如果后面想删除这个证书,也可以在这个管理器里进行操作删除。

二、Fiddler为什么会把https变成http
上文讲了安装证书的问题,我们接着再来理一理Https为什么会变成Http。在讲解安装证书时,细心的朋友们可能已经发现,我们刚刚已经将Fiddler捕捉Https的问题也解决了。

现在我们启动Fiddler后,它不仅只是抓Http数据,还会将Https数据也一起抓获。我们点击左侧选择任意一条Https数据包,右边会展示出该数据的请求+响应,我们会发现Https的请求和响应会变成以Http的形式展现。

这是什么呢?部分用户可能会疑惑:既然最终以HTTP形式展示,为何还要安装证书?其实不然,Fiddler将Https变成Http并不是真正意义上的协议转换,Fiddler在捕捉过程中始终保持着数据的安全性。且Http更为直观,更容易让我们分析查找问题,为了方便操作查看,Fiddler只是进行了一个形式上的转换而已。
以上就是Fiddler为什么要安装证书,Fiddler为什么会把https变成http的全部内容了。现在大家应该对证书和Https、Http有了一个更深刻的理解。希望这篇文章能够帮助到大家。