抓包分析https的传输过程

参考:https://www.jianshu.com/p/7158568e4867

1.

首先,浏览器和服务器三握手,建立连接。

下面是https的发包过程:

2.浏览器发送client hello:

客户端给服务器发送一个随机值random1,和加密(暗号)套件。

3.

服务器ack,意思是,你的hello数据包我收到了。

4.

服务器给浏览器(客户端)发送server hello

同时我们从数据包中发现服务器也给客户端发送了一个随机值random2和证书。

5.

客户端回复ACK,你的hello数据包和证书我收到了。

6.

先不看 数据包的内容,客户端需要验证服务器发过来的证书的合法性:通过操作系统内置的ca证书,来验证服务器证书的颁发者和过期时间是否合法,如果存在数据签名,则用操作系统中颁发者CA的公钥对签名解密,用相同的hash算法算出签名的hash值,将这个hash值与签名中的hash值对比。验证是否是真实的服务器发送的。

再来看上面的数据包:

Client Key Exchange

客户端验证通过,取出证书中的公钥,然后再生成一个随机数random3,用这个公钥对random3加密,生成PreMaster Key,客户端根据服务器传来的公钥生成了 PreMaster Key,Client Key Exchange 就是将这个 key 传给服务端,服务端再用自己的私钥解出这个 PreMaster Key 得到客户端生成的 Random3。至此,客户端和服务端都拥有 Random1 + Random2 + Random3,两边再根据同样的算法就可以生成一份秘钥,握手结束后的应用层数据都是使用这个秘钥进行对称加密。为什么要使用三个随机数呢?这是因为 SSL/TLS 握手过程的数据都是明文传输的,并且多个随机数种子来生成秘钥不容易被暴力破解出来。

Change Cipher Spec(Client)

这一步是客户端通知服务端后面再发送的消息都会使用前面协商出来的秘钥加密了,是一条事件消息。

Encrypted Handshake Message(Client)

这一步对应的是 Client Finish 消息,客户端将前面的握手消息生成摘要再用协商好的秘钥加密,这是客户端发出的第一条加密消息。服务端接收后会用秘钥解密,能解出来说明前面协商出来的秘钥是一致的。

7.

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这个问题的意思是让我们用中文回答:Wireshark分析https。 Wireshark是一款开源的网络协议分析软件,可以实时深入地分析网络通信数据的内容。 https是一种加密的网络通信协议,用于保护数据传输的安全性。在Wireshark中,我们可以通过分析https的通信过程,查看加密的数据内容。这对于网络安全的检测、调试和优化有很大的帮助。 ### 回答2: Wireshark是一款网络协议分析工具,可以用来分析网络数据。在网络中,有些网站使用了HTTPS协议进行通信,通过SSL加密来保护传输内容的安全性。但是对于网络管理员或者安全研究人员来说,想要对HTTPS的内容进行分析是非常有必要的,以便及时发现安全隐患和问题。 HTTPS数据时,需要先安装配置SSL证书,这样才能对SSL加密的数据进行解密,并获取其中的明文信息。在Wireshark中,我们可以通过“Edit”->“Preferences”->“Protocols”->“SSL”来设置SSL证书。在“SSL protocol”中选择“(Pre)-Master-Secret log filename”,然后选择一个输出文件,保存SSL协议过程中的Master Secret值。此操作完成后,Wireshark就可以用这个文件来解密取到的HTTPS数据。 如果需要分析HTTP协议在HTTPS中的流量,可以在“Analyze”->“Follow SSL Stream”中开启“Follow TCP stream”,这样可以看到HTTP请求和响应中的明文数据。如果需要分析HTTPS中的手动操作,可以使用“Decrypt SSL Traffic”解密传输内容。 在逐步剖析HTTPS中的数据时,可以查看SSL协议的握手过程括客户端和服务端之间的协议版本、密钥协商的算法、证书验证过程、会话密钥等信息。同时,也可以查看HTTP协议的请求和响应,了解具体的网络传输内容。通过这些分析,可以发现协议问题和潜在漏洞,进一步加强网络安全。 总之,使用Wireshark分析HTTPS协议时,需要注意设置SSL证书,解密SSL协议内容,从握手过程和HTTP请求响应中分析协议问题和潜在漏洞,以提高网络安全和保护网络信息。 ### 回答3: Wireshark是一款非常强大的网络协议分析工具,可用于分析网络流量中的各种网络协议。其中,wireshark可以用来捕获网络数据,显示每个数据的详细信息,并分析这些数据的内容。而对于HTTPS,wireshark分析也同样适用。 HTTP是一种明文传输的协议,没有任何加密机制,所有的通信数据都是明文传输的。这种方式虽然简单,但是极易被恶意攻击者截获和窃取敏感信息。而HTTPS则是基于TLS/SSL加密的HTTP协议,通过对数据进行加密来保护通信安全。wireshark分析时,可以利用Wireshark中内置的SSL解密功能来解码HTTPS流量,以便分析和查看通信的详细信息。 首先,需要在Wireshark中设置解密HTTPS流量。具体方法如下:首先打开Wireshark,在“Edit->Preferences->Protocols->SSL”下,将“RSA keys list”设置为客户端与服务器端的预热密钥列表文件,这个文件可以在SSLKEYLOGFILE环境变量中进行定义。接着开启HTTPS流量捕获功能,即可开始分析。 在wireshark分析HTTPS时,可以从中查看和分析各种HTTPS协议的细节信息。例如,Wireshark可以捕获并显示HTTPS握手过程中的所有信息,括客户端发送的ClientHello消息,服务器发送的ServerHello,Certificate和ServerHelloDone等消息。此外,还可以看到每个数据的详细信息,括源地址,目的地址,协议类型、数据长度等。根据这些信息,可以分析数据的内容,调试和解决网络故障和安全问题。 综上所述,采用wireshark方法分析HTTPS流量具有非常重要的优势,可以保障通信安全,帮助分析和解决网络故障和安全问题,提高网络性能和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴着眼镜看不清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值