Charles的下載安裝及使用

感謝Charles,讓Max解鎖中間人攻擊(Man-in-the-middle attack,縮寫:MITM)的成就,終於可以讓 https 加密的世界重新回到 http 明碼的世界。

傳統的網路監聽(Sniffer)技術遇到的問題是SSL的出現,傳輸的封包被加密,無法直接監聽到封包裡的內容。使用Charles為我們便利地讓與遠端伺服器之間的傳輸 變的透明可以觀看其內容。

這篇文章要分享Max怎麼使用Charles查看https的封包內容。

Max測試情景是Charles用的是 macOS 的版本,在Android 手機的WiFi 裡設定 proxy 連到 macOS 的 Charles,並在 Android App 裡與遠端主機進行網路資料傳輸。

Max的環境:

  • 作業系統:macOS 10.15.7
  • Charles: ver 4.5.6
  • Android手機:Mi A1 (Android 9)

另外有用一隻手機分享熱點,讓 macOS 和 Android 手機都在同一個 LAN 裡。


實作步驟如下:

1:下載和安裝Charles

官方版下載地址:
https://www.charlesproxy.com/download/

附註:

  • 官方版只有30天免費使用期限。
  • 安裝完打開的過程中,會彈出一個彈窗,問你是否grant privilege,要點擊「grant privilege」按鈕,這一步是授權,願意讓Charles去監聽你的瀏覽器請求。

2:安裝Charles Root Certificates

開啟 Charles 後,可以左欄很多的 unknown,點下去後可以看到 Notes:

SSL Proxying not enabled for this host

解法,點 menubar -> Help -> SSL Proxying -> Install Charles Root Certificate

接著使用 spotlight 去開啟 Keychain Access 的 App,會看到有一個紅色的X,點2下開啟。

在第一個欄位選擇「Always Trust」

這時候就會變色綠色了,沒有紅色X。

3:設定 SSL Proxying setting

在還沒設定 SSL Proxying setting 會顯示下面的Notes:

SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations

點 menubar -> Proxy -> SSL Proxying setting 裡按”Add” 按鈕,增加我們的domain:

4:在Android / iOS 手機下載設定檔

在手機的瀏覽器裡,連到下面網址,下載並安裝設定檔。
http://charlesproxy.com/getssl

接著在 Android 的 Wi-Fi 的設定的地方,去設定 proxy host 和 port 為 macOS 的 IP(主機名) 和 port(端口) 即可。

不知道 macOS 的 IP address 可以在 macOS 的 Charles 裡點 menubar -> Help -> Local IP Address.

port(端口) 預設值是 8888,想修改的話,在 Charles app 點 menubar -> Proxy -> Proxy Settings 就可以了。

以上 4個步驟就結束了,附上讓 https 變明碼的執行畫面:

^_^)y 耶~ 明碼!


相關文章

Charles Proxy macOS setup guide
https://medium.com/@yash3x/charles-proxy-macos-setup-guide-cfde50262b91

Charles的下载安装及使用
https://www.jianshu.com/p/912a9e15b174

Charles on Windows + Android 查看https封包
https://medium.com/@NorthBei/charles-on-windows-android-%E6%9F%A5%E7%9C%8Bhttps%E5%B0%81%E5%8C%85-fe6f2e6cc507

透過 Charles Proxy 工具,查看 SSL 連線的 Request 與 Response 資料
https://jzchangmark.wordpress.com/2015/05/24/%E9%80%8F%E9%81%8E-charles-%E5%B7%A5%E5%85%B7%EF%BC%8C%E6%9F%A5%E7%9C%8B-ssl-%E9%80%A3%E7%B7%9A%E7%9A%84-request-%E8%88%87-response-%E8%B3%87%E6%96%99/

Using Charles Proxy to Debug Android SSL Traffic
https://medium.com/@hackupstate/using-charles-proxy-to-debug-android-ssl-traffic-e61fc38760f7

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *