Wireshark抓包分析HTTPS與HTTP報文的差異


一、什么是HTTPS:

HTTPS(Secure Hypertext Transfer Protocol)安全超文本傳輸協議 它是一個安全通信通道,它基於HTTP開發,用於在客戶計算機和服務器之間交換信息。它使用安全套接字層(SSL)進行信息交換,簡單來說它是HTTP的安全版。 它是由Netscape開發並內置於其瀏覽器中,用於對數據進行壓縮和解壓操作,並返回網絡上傳送回的結果。

HTTPS實際上應用了Netscape的安 全全套接字層(SSL)作為HTTP應用層的子層。(HTTPS使用端口443,而不是象HTTP那樣使用端口80來和TCP/IP進行通信。)SSL使 用40 位關鍵字作為RC4流加密算法,這對於商業信息的加密是合適的。HTTPS和SSL支持使用X。509數字認證,如果需要的話用戶可以確認發送者是誰。

二、HTTPS和HTTP的區別:

https協議需要到ca申請證書,一般免費證書很少,需要交費。http是超文本傳輸協議,信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協議 http和https使用的是完全不同的連接方式用的端口也不一樣:前者是80,后者是443。

http的連接很簡單,是無狀態的 HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議 要比http協議安全。

三、比較操作步驟:

***https傳輸中抓包***

    1.開啟wireshark並配置受監聽的網卡,點擊捕獲->選項


 

    2.選擇正在使用的網卡,點擊開始。


 

    3.電腦中開啟瀏覽器或其他應用的時候都會有流量產生,有流量產生就會被wireshark捕捉到,下圖為剛剛開啟wireshark后的捕捉狀態,會抓到各種各樣的流量,稍后我們會進行過濾操作。


 

    4.瀏覽器中輸入帶有https的網址,讓wireshrk可以抓到包。


 

    5.再次返回到wireshark頁面,然后在應用顯示過濾器一欄中輸入過濾語句,本例中輸入ip.dst == 192.168.12.93,即指定wireshark只列出目標地址是192.168.12.93的流量。


 

    6. 選擇任意協議為TLSv1的流量后右擊選擇追蹤流->TCP流,發現數據均為加密,根本看不懂。接下來看看沒有加密的HTTP傳輸是什么樣子的。


 

***http傳輸中抓包***

    1. 前三步與https傳輸中抓包是同樣的操作,我們只需要在瀏覽器中輸入一個是HTTP請求的連接即可,以簡書的登錄地址為例


 

    2.wireshark抓包分析后的效果,注意看下圖箭頭所指的流量均給出了請求的具體資源地址,而https傳輸的時候只提示為“Application Data”


 

    3. 接下來繼續看,選擇資源為POST /sessions HTTP/1.1的流量選擇追蹤流->TCP流,可以清晰的看到用戶的登錄名以及登錄密碼均可以被嗅探了。


 

最后發現,簡書的登錄操作中密碼竟然沒有進行加密處理就傳輸了...


免責聲明!

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



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