first寺酪,https抓包原理:
- 客戶端發(fā)起SSL握手請求,包含支持的加密算法替劈,Charles攔截寄雀;
- Charles作為客戶端,將攔截的信息發(fā)送給服務(wù)端抬纸;
- 服務(wù)端返回證書(身份+公鑰)咙俩、確認(rèn)的加密方法,Charles攔截,解析出公鑰(?)阿趁;
- Charles用自己的公鑰生成新的證書膜蛔,發(fā)送給客戶端;
- 憨批客戶端用拿到的公鑰加密信息(此處的“信息”為一個(gè)隨機(jī)數(shù)脖阵,后續(xù)會用用服務(wù)端確認(rèn)的加密方法加密后得到通訊秘鑰)皂股,發(fā)出請求;
- Charles用自己的私鑰解密客戶端發(fā)出的請求命黔,然后用服務(wù)端公鑰加密信息呜呐,發(fā)送給服務(wù)端;
- 服務(wù)端用自己的私鑰解密Charles發(fā)出的請求悍募,得到隨機(jī)數(shù)蘑辑,計(jì)算生成會話秘鑰,返回確認(rèn)請求坠宴。
then洋魂,
1.localhost請求抓不到:服務(wù)host改為localhost.charlesproxy.com,有端口加端口喜鼓;
2.maplocal不支持選擇請求方式副砍,而axios請求都附帶options導(dǎo)致map失敗:拋棄maplocal用rewrite吧庄岖,正則填入{[\S\s]*}豁翎,表示只匹配返回不為空的請求,即可過濾options隅忿。