比如说用户通过 http 代理上 https 的网站,理论上是不是代理端能够获取到 https 的密钥,也可以解开通信的内容?
对网络协议这一块不是很熟悉,最近在了解这一块的内容,想请教一下各位大佬。
1
azh7138m 2020-05-06 19:37:46 +08:00 via Android
不是
不可以 |
2
rabbbit 2020-05-06 19:40:04 +08:00
不能,除非对方在你电脑上装了个证书,或者控制了某个 CA
|
3
morethansean 2020-05-06 19:45:46 +08:00
你用 http proxy 访问一个 https 网站 client 发的是 connect 的请求,相当于通过 http proxy 起了一个 tcp 的 tunnel 然后接着就走正常的通信数据传输流程了。简单来讲这些端到端加密的,不管你中间的隧道怎么变,不管你是 socket 还是 http 还是什么别的代理,都不会影响端到端加密啊,中间隧道又不是任何一个 end,他怎么获得你 end 上的秘钥。其实系统学习一下这一块(不用太深入,入门原理了解下)要不了几个小时的时间基本上就能有清晰的了解了。
|
4
cookii OP |
5
azh7138m 2020-05-06 19:56:36 +08:00 via Android
HTTP tunnel
这里是创建了一个 TCP 隧道,代理服务器不知道这些数据代表什么 |
6
iceheart 2020-05-06 20:03:50 +08:00 via Android
@imzhoukunqiang
不用买书,抓包看数据最直接 |
7
cookii OP @iceheart 谢谢,因为在看 netty,自己有写一些 demo,数据包看过不是很能理解,所以想从基础的学习一下。
|
8
mengzhuo 2020-05-07 07:23:31 +08:00 via iPhone
|
9
clague 2020-05-07 08:24:05 +08:00 via Android
我记得只有明文域名,连完整 URL 都没有
|