本文參考:charles 手機證書下載安裝
本文的Charles,適應windows/MAC/IOS/Android,避免抓包HTTPS失敗和亂碼;
用的版本是V4.1.2,其它版本原理類似;
charles如果不配置SSL通用證書;
會導致HPPTS協議的域名抓取失敗/亂碼的現象;
現在SSL越來越多,很多博客都上了SSL,支付相關的行業更是基礎配置;
charles配置SSL證書,算起來很簡單,操作簡潔;
首先分析我們需要怎么做?
第一步:電腦端安裝 Charles 的 CA 證書(必須)
charles需要下載安裝ssl/https證書,因為charles是作為中間的過濾器使用的,具體原理請查看 charles使用教程
這樣你就可以訪問PC端的https資源了,windows/MAC原理一樣;
第二步:電腦上charles的SSL抓取設置(必須)
charles並不是默認抓取ssl的,所以即使你安裝完證書之后,Charles 默認也並不截取 Https的信息,你需要在SSL proxy里設置需要抓的域名;
當然如果你想抓取手機端的HTTPS相關資源,還需要下面的第三步;
(還不會手機抓包普通HTTP的,請點擊 charles手機抓包設置 )
第三步:手機安裝SSL證書;
無論IOS/Android,都需要安裝SSL證書,原理是手機的SSL證書與電腦上charles SSL證書對接;
*****************************具體的操作方法**********************************
第一步:電腦安裝SSL證書
選擇 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”,如果設置了安全防護,會ranging輸入系統的帳號密碼。
會讓你開始安裝charles的證書操作;
一路下一步即可;
第二步,配置SSL的抓取域名;
你可以單獨配置,必須看到某個想要抓取的域名,右鍵點擊“SSL proxying :Enableed”那么當前你設置后的域名,再次訪問就可以抓到了;設置如下圖
我個人並不喜歡這種的設置;每次都需要一個一個的配置,很蛋疼;
可以看到我上面的配置,那個“SSL proxying :Enableed”配置 默認就是灰色的,這是因為我做了通用設置的原因;我是設置為所有的HTTPS協議全部允許捕獲;
我的設置如下;
首先找到proxy – SSL Proxying Settings;
然后選中啟用SSL代理(Enable SSL Proxying),因為charles的location配置都是支持通配符的,所以在HOST里設置一個”*”就可以了,port不寫;
如果你需要配置某個指定域名,也是在這里填寫的;
配制特定域名的時候,一般port為443(SSL常規為443);
這樣,你就可以愉快的抓取到HTTPS的內容了;
第三步:手機安裝SSL證書(如果你需要抓取手機訪問的HTTPS網站,需要做此設置,但如果你不需要手機抓取HTTPS,就沒有必要安裝了)
和上面類似,也是HTLP下面的 SSL Proxying,選擇”Install Charles Root Certificate on a Mobile Device or remote Browser” (在移動設備或遠程瀏覽器上安裝SSL證書)
然后會看到一個彈窗,提示你該怎么操作
configure your device to use charles as its HTTP proxy on 192.168.10.108.8888,then browse to chls.pro/ssl to download and install the certificate
大概的意思是讓你把手機上的wifi信息設置了 HTTP代理,內容是192.168.10.108.8888;然后用瀏覽器瀏覽chls.pro/ssl就可以下載並安裝證書了;
我的版本是V4.1.2的版本,所以如果您是別的版本,提示信息可能不一樣;
charles的手機上抓取普通HTTP的設置,請參考“charles手機抓包設置”這里只是抓取HTTPS的;
上面的 192.168.10.108.8888 這是我電腦的IP和設置和設置的端口,具體要以你實際的為准;
當你完成手機的wifi委托為charles作為代理后;
打開手機上的瀏覽器訪問chls.pro/ssl;然后會跳到一個安裝描述文件的地方;
直接安裝就可以了;
我的已經安裝好了,就不再進行演示了
好了,現在去看看吧,已經可以正常捕獲到HTTPS的了;
上一章訪問我自己博客的https抓包記錄
——-END——