現在基本大部分網站都使用了https,所以要想抓到https的請求,首要任務是先有工具:charles、fiddler,先介紹下charles針對https請求的抓取方法,此方法兼容windows和mac用戶(mac用戶方法類似)。
1、 windows下安裝charles,看到此文章的用戶相信都已經安裝了charles,如果還真的沒安裝,麻煩就自行搜索,進行安裝了,打開charles(我使用的charles版本是3.11.4),再繼續瀏覽。
注:Charles破解:https://www.zzzmode.com/mytools/charles/
2、 ok,charles已准備完成,接下來就要配置charles證書:
之后會彈出安裝證書:
點擊安裝,一路下一步,直到提示“導入成功”
此時證書還是不被信任的,讓不信任變成信任:打開IE瀏覽器—>工具—>Internet選項—>內容—>證書—>把中級證書頒發機構中的charles證書導出來—>再把導出來的證書導入到受信任的根證書頒發機構中。這樣就ok了。
3、 在移動設備上配置手機代理並安裝證書
在手機上設置代理:設置—>無線網絡,設置服務器ip和端口號:
然后,手機安裝證書:
會彈出一個提示框,如下:
然后手機瀏覽器輸入如上地址:http://charlesproxy.com/getssl會彈出如下頁面:
現在下載地址已改為 chls.pro/ssl
點擊安裝即可,安裝完成后就變成已驗證,如下:
接下來需要設置信任證書,在手機設置→關於本機→證書信任設置里信任該證書
需要說明一點,多台電腦如果想抓包同一個IOS手機,需要手機通過這幾台電腦分別安裝對應電腦的證書。
下面以訪問百度wap站點為例:
上圖看到,訪問百度wap站點還是看不到https的請求數據,下面還需要再繼續配置:
點擊SSL Proxying Settings,彈出下面的框,輸入Host填寫要抓取的ip或域名,port填寫443即可。
設置完成后,重新方位百度wap站點就可以抓取到https請求了
最近發現ios使用charles進行https的mock 會提示客戶端證書有誤。請遇到的同學按照charles上的help安裝手機證書后,在ios設備的設置→通用→關於本機→證書信任設置 里面啟用完全信任Charles證書,親測可解決。 有遇到的同學可以試試
最近發現有人在安裝完Charles后抓取請求是沒有response返回值,如下圖:
遇到這種情況時按照下圖所示方法更改下配置即可
以上,親測可解決(2017-12-21)~~