您的位置:首页 > 理论基础 > 计算机网络

Fiddler 安装以及如何抓取HTTPS请求

2018-01-31 14:53 513 查看
众所周知 Fiddler 是一个非常实用的 抓包工具 而且 有很多的 扩展功能可以去官网下载

我们在开发中,难免需要抓包工具来查看接口数据 或者 测试接口的安全性, 如未签名而进行值的修改.

下面将介绍它的安装以及配置 证书 来抓取HTTPS加密信息

1.官网下载  https://www.telerik.com/fiddler (虽然安装没什么好说的,但还是写一下,走完整的流程)



点击 Free download 开始免费下载  之后会进入下载页面,此时会问你准备如何使用 Fiddler? (安装了不同扩展功能的版本)选择好对应的版本进行下载



如果顺利则直接成功的下载好安装包

当然其实直接在百度搜索 并下载 也很省事



双击安装包.exe 可执行文件



选择好安装路径,install  并 运行 



此时我们不做任何配置的情况下 已经可以抓取 HTTP 请求 (明文不解释,当然也需要请求走系统代理
火狐游览器需要设置“手工配置代理”)

但是我们如果项目中使用了HTTPS 请求,由于HTTPS请求的安全性,所有数据都是加密的,那么我们怎么抓取其中的信息呢?

首先我们要配置一下 Fiddler 的证书

为什么要配置这个玩意呢? 有人会问, 那么我们先来简单看一下原理

1. Fiddler 拦截到我们自己客户端的HTTPS请求。

2.把拦截到的请求转发给请求服务器。

3.请求服务器响应,并生成证书文件发送给我们客户端,Fiddler 拦截,获取到请求服务器响应的证书文件,并把我们配置的伪造证书发送给我们自己的客户端。

4.客户端接受到伪造证书,再次请求数据。数据已经根据伪造证书加密。

5.Fiddler 拦截获取其中所有请求信息,再根据3,步骤中拦截到的正真证书文件 进行信息加密,发送给请求服务器。

总体来说, Fiddler 起到了中间转发的角色。

Fiddler 证书的配置:

1.Tools -> Options
-> HTTPS

 点击 Decrypt HTTPS traffic 选中 from all processes



2.Actions -> Trust Root Certificate





yes





3.Actions—–>open windows certificate manager 或者 win + r 输入 certmgr.msc



查看证书是否已安装成功。

此时已经可以查看HTTPS请求中的参数,当然别忘了 启动拦截 File -> Capture Traffic



当然这是正常流程,有些不幸运的朋友可能会出现种种问题 :   

(我出现这个问题主要是去官网下载的版本出现此问题,不知道是电脑系统问题还是怎么)

在第2步骤中的 Actions -> Trust Root Certificate 出现 

(无法配置windwos信任Fiddler证书,这个原因应该是官网下载好的Fiddler没有包含证书,需要自己生成,但是我在我的
4000
笔记本电脑上直接可以操作,这就很尴尬,只能认为是系统问题,不管怎么样,我们需要自己生成并配置证书)



解决方案:

1.win+r 打开 cmd 

2.进入到Fiddler 安装文件夹中 执行

makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012



再重复一次 Actions -> Trust Root Certificate 操作 发现可以正常出现证书配置。



这里还有可能出现 虽然证书已经安装 但是 还是不能获取到证书 从而导致不能解密HTTPS中信息 的情况 报错信息如下:



我试着使用了fiddlercertmaker工具。 这次在使用 fiddlercertmaker 之前 我已经执行了此证书生成命令

makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot,
O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h
1 -cy authority -a sha1 -m 120 -b 09/05/2012

不用cmd生成证书直接使用fiddlercertmaker生成证书是否可行?为了解开心中的疑惑,之后我又测试了一次,确实只需要执行fiddlercertmaker即可。

我使用的 fiddlercertmaker
下载路径(在我的百度云网盘中,密码 hhez)

https://pan.baidu.com/s/1i5U4dM1

之后就成功解决此问题:



希望可以帮助到你
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息