WireShark抓取QQ邮箱

Posted folm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WireShark抓取QQ邮箱相关的知识,希望对你有一定的参考价值。

WireShark抓取QQ邮箱

实验环境:MacOS + WireShark

1.QQ邮箱是网址是基于HTTPS协议的

HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)能够加密信息,由HTTP+TLS/SSL组成,在原本的HTTP协议上增加了一层加密信息模块,服务端和客户端的信息传输都要经过TLS进行加密,所以传输的数据都是加密后的数据。

2.TLS/SSL 简介

技术图片
握手过程:

  • 1.初始化阶段。客户端创建随机数,发送ClientHello 将随机数连同自己支持的协议版本、加密算法发送给服务器。服务器回复ServerHello将自己生成的随机数连同选择的协议版本、加密算法给客户端。
  • 2.认证阶段。服务器发送ServerHello的同时可能将包含自己公钥的证书发送给客户端(Certificate),并请求客户端的证书(Certificate Request)。
  • 3.密钥协商阶段。客户端验证证书,如果收到Certificate Request则发送包含自己公钥的证书,同时对此前所有握手消息进行散列运算,并使用加密算法进行加密发送给服务器。同时,创建随机数pre-master-secret并使用服务器公钥进行加密发送。服务器收到这个ClientKeyExchange之后解密得到pre-master-secret。服务器和客户端利用第一阶段的随机数,能够计算得出master-secret。
  • 4.握手终止。服务器和客户端分别通过ChangeCipherSpec消息使用master-secret对连接进行加密和解密,以及向对方发送终止消息(Finished)。

3.WireShark抓包

首先先确定自己的IP:
技术图片
接下来进行抓包。并使用ssl进行过滤。
技术图片
技术图片

4.对于抓到的重要的包进行分析:

1.Client Hello

技术图片
TLS握手过程的第一步就是客户端发起请求,主要包括了客户端生成的随机字符串(session key),还包含了客户端所支持所支持的加密套件列表、随机数等信息。
技术图片

2.Server Hello

技术图片
服务器收到客户端的Client Hello数据包之后,根据客户端发来的加密套件列表,选择一个加密套件,也生成一个随机字符串返回给客户端。密钥交换算法选择的是使用ECDHE_RSA,对称加密算法使用AES_128_GCM_SHA256:
技术图片

3.Certificate & Server Key Exchange & Server Hello Done

技术图片
服务器把certificate发给客户端。
技术图片
服务器返回Server Key Exchange数据包,用于和客户端交换用于数据加密的密钥,Server Hello Done用于通知客户端已经发送用于密钥交换的数据等待客户端响应。
技术图片

4.Client Key Change & Change Cipher Spec & Encrypted HandShake Message

技术图片
客户端根据服务器返回的DH数据生成DH数据发给服务器,用来生成最终的pre-master-secret。如图:
技术图片

5.Application Data

技术图片

6.New Session Ticket&Change Cipher Spec & Encrypted HandShake Message

技术图片
每隔一段时间就要更新一次会话密钥

5.总结

在登录QQ邮箱的过程中采用了加密算法来加密这个过程,分别是:
密钥交换算法选择的是使用ECDHE_RSA
对称加密算法使用AES_128_GCM_SHA256
但是出于安全考虑,会话密钥需要每隔一段时间就更换一次。

以上是关于WireShark抓取QQ邮箱的主要内容,如果未能解决你的问题,请参考以下文章

wireshark抓取app数据包

如何用wireshark截取流媒体视频

wireshark如何抓取别人电脑的数据包

wireshark如何抓取别人电脑的数据包

请问如何用wireshark抓取回环口的包?也就是IP是127.0.0.1的包。

wireshark抓取OpenFlow数据包