This is a CONNECT tunnel, through which encrypted HTTPS traffic flows.

使用fiddler时,有一种情况,即执行https请求时,Host都是tunnel to, URL后边都带着443,这是什么意思呢? 比如:访问 https://www.csdn.net/ 时,fiddler显示如下:
在这里插入图片描述

查看请求头会发现使用了Connect方法,

CONNECT www.csdn.net:443 

Connect方法通常会建议代理(fiddler)与目标服务器建立http tunnel;尽管Connect也可以用于http请求,但是一般是用于SSL通信;
图中也显示了,fiddler提示不能解密HTTPS请求的数据。

默认情况下fiddler是不能解密https请求的,只有开启了Decrypt HTTPS traffic功能时fiddler才能获取到https请求的数据:
在这里插入图片描述

中间人劫持攻击

https也不是绝对安全的,如下图所示为中间人劫持攻击,中间人可以获取到客户端与服务器之间所有的通信内容。
在这里插入图片描述
中间人截取客户端发送给服务器的请求,然后伪装成客户端与服务器进行通信;将服务器返回给客户端的内容发送给客户端,伪装成服务器与客户端进行通信。
通过这样的手段,便可以获取客户端和服务器之间通信的所有内容。

使用中间人攻击手段,必须要让客户端信任中间人的证书,如果客户端不信任,则这种攻击手段也无法发挥作用。

中间人攻击的预防:
造成中间人劫持的原因是:没有对服务端证书及域名做校验,或者校验不完整,导致把中间人的证书也认为是服务端的证书。okhttp,volley等http框架都有证书及域名校验机制。

fiddler能解密https的原理

是因为设置了信任fiddler的证书:

Tools—–> options—–>https—–>capture https traffic—->decrypt https traffic—>Ignore server certificate errors—->Actions—–>Trust root certificate—->之后都是确定
在这里插入图片描述

在这里插入图片描述
安装根证书后,可以点击Actions—–>open windows certificate manager查看安装到系统的根证书:
在这里插入图片描述
如果不设置这些选项,那么电脑就不会信任fiddler的证书,fiddler就不能解密https请求。

参考:
fiddler使用
HTTPS连接过程以及中间人攻击劫持

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值