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
但是出於安全考慮,會話密鑰需要每隔一段時間就更換一次。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM