Fiddler+willow使用步骤

fiddler的工作原理:

fiddler抓包是在 客户端和服务器之间建立一个代理服务器,监听本机发出的请求和服务器返回的响应结果。

fiddler抓取https的工作原理:

首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手。

第一步, fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。

第二步, fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事。

第三步, 客户端浏览器生成https通信用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获。

第四步, fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥。

第五步, fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后建立信任, 握手完成, 用对称密钥加密消息, 开始通信。

第六步, fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端浏览器。

第七步, 客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密获得明文。

由于fiddler一直拥有通信用对称密钥, 所以在整个https通信过程中信息对其透明。

之后的正常加密通信中,Fiddler的工作如下:

服务器—>客户端:Fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端。
客户端—>服务端:客户端用对称密钥加密,被Fiddler截获后,解密获得明文。再次加密,发送给服务器端。由于Fiddler一直拥有通信用对称密钥enc_key, 所以在整个HTTPS通信过程中信息对其透明。

 fiddler+willow的配置过程:

对于fiddler

Fiddler+willow使用步骤_第1张图片

注意红框的部分(我第一次的时候没有配置这个)

设置一个端口号:

Fiddler+willow使用步骤_第2张图片

注意红框需要勾选。

如果需要抓取https包,需要注意要安装证书(我是一开始自动安装的)

在willow中设置host和extention(如果需要测试环境的话)

对于移动端(Android):

1)首先要先和Pc端口连同一个wifi,设置WiFi代理的服务器和端口号:

2)浏览器打开ip+端口号,下载FiddlerRoot.cer,手机浏览器中显示不能打开该文件。找到手机中该文件的位置点击进行安装。

Fiddler+willow使用步骤_第3张图片

Fiddler+willow使用步骤_第4张图片

 

你可能感兴趣的:(测试)