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