简单说下HTTP代理、HTTPS代理、SOCKS代理的原理区别,charles抓包HTTPS原理

采用PROXY代理方式通讯时,都是客户只TCP/IP连接到代理,客户只和代理通讯。  代理和目标进行TCP/IP通讯,代理需要先有PROXY信息,才能知道目标服务器的地址。

HTTP代理最简单!因为HTTP是不加密的,TCPIP连接成功后,第一个包就是HTTP头包,HTTP头里可以表达目标服务器地址和PROXY信息,代理可以根据这个信息去连接目标,所以只要HTTP头里做一点点修改,其它都是一样的,直接盲转发就行了!

HTTPS代理,因为HTTPS正常通讯是加密的,TCPIP连接成功后,马上进行SSL加密握手,第一个包就是SSL握手包,里面没有包含目标服务器地址,故一开始代理无法知道目标服务器地址。所以在HTTPS代理时,需要TCPIP连接成功后,客户先用CONNECT包把目标服务器地址发给代理,代理连接到目标后,再进行后续的盲转发就行了!     即客户先要和代理交流一下PROXY信息,再进行盲转发。

SOCKS代理,同理,一开始代理不知道目标服务器地址,需要客户先用CONNECT包把目标服务器地址发给代理,代理连接到目标后,再盲转发就行了!     即客户先要和代理交流一下PROXY信息,再进行盲转发。

charles代理软件,可以进行HTTPS盲转发,也可以进行HTTPS内容抓包(即SSL proxy)。

HTTPS盲转发,内容是SSL加密的,代理是不知道通讯内容的。

如果要HTTPS解析通讯内容,则代理要冒充“目标服务器”。   代理和目标服务器进行SSL握手,代理把自己的证书发给服务器。  同时代理要冒充“目标服务器”,和客户进行SSL握手,会把“冒充的目标服务器证书”发给客户(所以代理要生成一个冒充的目标服务器证书)。    客户需要有根证书来认证这个“冒充的目标服务器证书”,故手机或电脑需要安装代理的根证书。     即代理相当于是服务器的冒充,采用代理的证书!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值