https加密了為什么抓包還是明文
有客戶已經正確部署了SSL證書,但是向我們提出了這個問題:
我今天采用抓包工具進行抓包,但是我發現數據沒有加密,請問是怎么回事?那采用證書加密有什么用?是不是很輕易的被別人抓取?
其實客戶提出這個問題,本身是對於證書技術的一些誤解,涉及到證書的技術問題。下面就簡單的說一說為什么會產生這個現象。
https抓包的原理就是抓包程序將服務器返回的證書截獲 然后給客戶端返回一個它自己的證書 客戶端發送的數據抓包程序用自己的證書解密,然后再用截獲的證書加密,再發給服務器 所以你在能看到明文。
密文是針對https兩端以外其他路徑而言,你作為https鏈接的兩端,當然可以看到明文
技術一點來說,TLS協議是在tcp協議之上的,tcp又是基於IP協議的。所以無論如何,你的對端IP地址是肯定無法加密的。
換個角度來看,假如你把對端ip都加密了,路由器怎么辦?你的數據根本無法在網絡上轉發。另外TLS協議也只是把HTTP層的數據加密了,所以也只是無法看到HTTP傳輸的內容,但是其他協議層的內容還是明文傳輸的。