輕鬆搞定Charles的HTTPS抓包(iOS13可用)

  • 2019 年 12 月 25 日
  • 筆記

抓包工具在APP開發過程中使用非常頻繁,對開發者理解網路傳輸原理以及分析定位網路方面的問題非常有幫助。

筆者一直比較喜歡Wireshark,但由於最近的項目是短連接項目,Wireshark太過重量。所以筆者選擇Charles進行App的抓包,配置也更加簡單。

1. HTTP抓包配置

1.1 查看當前wifi的IP地址

1.2 設置手機HTTP代理

iOS手機,連接與電腦同一個WiFi。然後點擊「設置->無線區域網->連接的WiFi」,設置HTTP代理。

進入wifi的配置設置。

增加代理資訊並保存。

伺服器為電腦IP地址:如192.168.0.102 埠:8888

埠默認為8888,設置的IP要與電腦的IP一樣

配置代理之後,電腦必須打開Charles才能上網。所以抓包結束後,要將配置代理關閉。

1.3 電腦上打開Charles進行HTTP抓包

打開Charles。

手機配置成功後會彈出提示,點擊「Allow」即可。

此時,HTTP的網路包已經可以查看,但是HTTPS的依舊不可以。

2. HTTPS抓包配置

想要HTTPS抓包,首先要按照順序完成上面的HTTP的配置。

2.1 手機配置加密證書

點擊上面選項後,Charles會彈出提示。

在手機Safari瀏覽器輸入地址 "chls.pro/ssl",出現證書安裝頁面,點擊安裝

點擊安裝。

對於iOS10之後的系統版本,需要進行下面的操作——對根證書進行信任操作。

2.2 Charles配置加密

開啟「SSL Proxying」

點擊「SSL Proxying Setting」,增加SSL攔截規則,像筆者比較懶,就如圖將所有443埠的請求都進行了攔截。

不需要重啟Charles,此時開始,所有的HTTPS的請求也是可見的了。

3. 抓包之後一定要做到

抓包結束後一定要關閉wifi的代理配置,否則Charles關閉後,手機將無法用這個wifi上網。