HTTP我们知道了,但是HTTPS我还不知道。 虽然我知道HTTPS怎么用,但是我不清楚HTTPS的流程是什么。 当我使用fiddler、charles、mitmporxy进行抓包的时候,如果是https的流量,都需要安装证书,这是为什么? 当我使用python访问https接口的时候,如果开着抓包,会有报错这是为什么? https比http复杂在哪里? 如何使用wireshark分析https流量。 为什么socks5代理不需要安装证书? Nginx开启ssl会话复用,能提升多少性能? 这一系列的问题困扰着我。 HTTPS应该被拿下。
我首先是看了图解HTTP,然后又看了老青菜的博客,https://laoqingcai.com/https/,我感觉我对HTTPS已经有了初步的认识,所以接下来我要详细的看一看,当然了如果遇到算法之类的我还是会跳过的,毕竟我不认为自己能够发明出一种类似于RSA的算法,但是理解算法是干什么的,这点智商我还是有的。
wireshark抓包实战,因为我抓到的是tls1.2所以就按照这个版本来分析。
三次握手之后开始ClientHello
1 Client Hello
此时为明文的 Random Session ID 会话ID,如果有的话,表示Client希望使用会话的连接,即恢复会话。当服务端存在对应会话可以返回对应的值。 服务端可能返回同一个sessionid,也可能返回一个新的sessionid Cipher Suites: 加密的方法列表
2 Server Hello
Cipher Suite
3 Server Certificate
返回证书的一些信息 Certificates
4 Server Key Exchange (HelloDone)
|