Charles實(shí)現(xiàn)對(duì)Https進(jìn)行抓包纵刘,使用的原理就是中間人技術(shù)(man-in-the-middle)。Charles會(huì)動(dòng)態(tài)生成一個(gè)使用自己根證書(shū)簽名的證書(shū)荸哟,Charles接收web服務(wù)器的證書(shū)假哎,而客戶(hù)端瀏覽器/客戶(hù)端 接收Charles生成的證書(shū),以此客戶(hù)端和Charles之間建立Https連接鞍历,Charles和Web服務(wù)器之間建立Https連接舵抹,實(shí)現(xiàn)對(duì)Https傳輸信息的抓包。如果Charles根證書(shū)不被信任則無(wú)法建立Https連接劣砍,所以需要添加Charles根證書(shū)為信任證書(shū)惧蛹。
如何使用
- 給Mac安裝證書(shū)
打開(kāi)Charles,在Menu選擇 HELP > SSL Proxying > Install Charles Root Certificate,Keychain Access(鑰匙訪問(wèn)串)被打開(kāi)香嗓,我們可以看到Charles Certificate已經(jīng)被安裝迅腔,如圖:
- 信任證書(shū)
但此時(shí)該證書(shū)并沒(méi)有被信任,雙擊該行彈出證書(shū)詳情靠娱,選擇“Always Trust”沧烈。
-
給手機(jī)安裝證書(shū)
打開(kāi)Charles,在Menu選擇Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser像云,彈出提示框锌雀,如圖:
安裝提示
需要注意的是192.168.0.101是我演示時(shí)候的IP,你要改成你自己的IP地址迅诬。IP配置之后用手機(jī)瀏覽器打開(kāi)http://charlesproxy.com/getssl 下載證書(shū)腋逆。最后
開(kāi)啟SSL代理功能在Menu選擇Proxy->SSL Proxying Setting,選中Enable SSL Proxying侈贷,在Locations里面添加要使用SSL代理的網(wǎng)站惩歉,端口號(hào)輸入443,如果需要匹配所有的HTTPS網(wǎng)站則輸入 * 號(hào)即可∏温現(xiàn)在即可攔截Https的數(shù)據(jù)包柬泽。
另外
有的同學(xué)在在Menu選擇Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser,彈出提示框不一樣嫁蛇。如圖:
我試了下锨并,我直接把 ip 設(shè)置成電腦的 ip 就可以了。
最后模擬器居然還提示我受監(jiān)控了睬棚。
再提示
選擇 Proxy->SSL Proxying Setting 選中Enable SSL Proxying然后 add 對(duì)應(yīng)的域名和端口第煮,不知道的直接 add *