https抓包原理
很多工具可以抓包,我用的是Charles for Mac 可以抓包。
抓手機https包的過程
mac要安裝證書並設成新人,先把手機局域網設成和MAC一樣的,設置代理IP和443端口,然後手機下載證書並安裝,同時設置信任。之後Charles就能抓到手機上的網絡請求了。
抓包工具僞造了自簽名證書之後可以成功抓包,並且抓到的是明文。
加密層位於http層(應用層)和tcp層(傳輸層)之間, 所以抓到的http層的數據並沒有加密。 同理, 在後臺接收端, 經歷解密後, 到達http層的數據也是明文。 要注意, https不是對http報文進行加密, 而是對業務數據進行加密, 然後用http傳輸。所以需要在客戶端對密碼進行MD5加密處理才行。
https抓包的原理就是抓包程序將服務器返回的證書截獲 ,然後給客戶端返回一個它自己的證書;
客戶端發送的數據抓包程序用自己的證書解密,然後再用截獲的證書加密,再發給服務器 所以你在能看到明文。
密文是針對https兩端以外其他路徑而言,你作爲https鏈接的兩端,當然可以看到明文 。
HTTPS是通過一次非對稱加密算法(如RSA算法)進行了協商密鑰的生成與交換,然後在後續通信過程中就使用協商密鑰進行對稱加密通信,之所以要使用這兩種加密方式的原因在於非對稱加密計算量較大,如果一直使用非對稱加密來傳輸數據的話,會影響效率。