https 到底加密了什么?

2017-08-12 15:20:39 +08:00
 jtsai

我用火狐的一个抓包工具 httpfox 对 https 进行抓包。post 数据包都是明文显示。

都说 https 是密文传输,那么 https 到底加密了什么?

4750 次点击
所在节点    问与答
16 条回复
atc
2017-08-12 15:24:31 +08:00
加密是端到端的,从浏览器抓出来的当然是明文
你得用 wireshark 这种网卡抓包工具才能看得出来
FanWall
2017-08-12 15:24:36 +08:00
这应该是属于插件吧 浏览器帮你解密了 不然怎么阅读... 实际传输的还是密文的
binux
2017-08-12 15:24:42 +08:00
浏览器自己当然可以解密了
loveCoding
2017-08-12 15:26:56 +08:00
兄弟 , 浏览器要是解密不出来那还搞毛啊 .
你试着用 charles 抓下包
est
2017-08-12 15:27:13 +08:00
wireshark 导入私钥就可以解了。


1L 说得对。SSL 是端到端,你本来就是端所以可以直接抓包。
jtsai
2017-08-12 15:30:04 +08:00
jtsai
2017-08-12 17:00:36 +08:00
@atc
@FanWall
@binux
@loveCoding
@est

请问?

日常我们写爬虫程序或使用浏览器请求 https (此 https 服务器含有正规机构颁发的合法证书)时,爬虫程序或者浏览器都默默无闻的自动帮我们处理了一大堆的加密解密吗?这一切是不需要我们打理的?
est
2017-08-12 17:05:40 +08:00
@jtsai 为了速度,我估计大部分爬虫不会检验服务器证书合法性。有被劫持风险
jtsai
2017-08-12 17:11:07 +08:00
@est 你的意思?爬虫们(例如 python requests )就扔一个 ssl 信息过去,然后拿到服务器的证书,不验证了,加密数据,然后发过去?这些步骤好复杂啊,requests 一直都默默无闻的完成这些东西啊?
XYxe
2017-08-12 17:22:26 +08:00
Sikoay
2017-08-12 17:27:54 +08:00
数据发送给服务器之前进入隧道(加密)到达服务器之后数据在出隧道,所以在传输的过程中别人是无法看到传输的信息的
deadEgg
2017-08-12 17:55:22 +08:00
@loveCoding charles 依然可以抓 https 的包,只要装了 charles 的证书就可以。
https 只是保证交换过程中是被加密的, charles 抓 https 抓包的原理应该是类似中间人的过程。
catror
2017-08-12 17:57:20 +08:00
加密了 HTTP 协议。HTTPS 有个很好理解的解释是 HTTP over SSL
est
2017-08-12 18:05:29 +08:00
@jtsai requests 算起来是 4 道贩子了


urllib3
httplib
ssl
_ssl
azh7138m
2017-08-12 18:32:00 +08:00
@deadEgg 是机器要信任 charles 给你的一个证书
lovedebug
2017-08-12 22:11:34 +08:00
其实简单说是一开始握手阶段用非对称方式来加密后续用来加密一般消息的对称加密密钥。😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/382433

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX