1.https把流量加密了,正常抓包,你看到的內容是一堆亂碼。
2.https的加密沒有安全問題,但它只是用來防止通信過程中被第三方獲取明文。如果黑客能直接控制通信的雙方(你的電腦,或服務器),那么黑客肯定能看到https明文的。
3.所以,你用charles之所以能看到https明文,是因為你允許了charles在你的電腦上做手腳,關鍵就是你同意charles在你電腦上安裝證書。
4.具體一點,charles通過使用了https代理功能,來完成查看https明文的目的,也就是SSL中間人攻擊。簡單來說,你并不是直接與https的另一端通信,而是與charles通信,charles再與另一端通信,這種結構下,charles才能看到通信明文。這個問題的原理比較復雜,涉及到整套RSA系統(tǒng),想了解原理的話,建議去看【信息安全】相關書籍,但這類書籍的門檻非常高。另外Fiddle也有這個功能,而且原理也一樣。