如何擷取電腦、手機的封包 (圖文教學)

被端走的小菜
6 min readDec 20, 2022

前言

透過網路封包擷取工具,可以擷取到 Windows、Mac、Mobile Phone 等不同裝置上的封包,自己用過 Burp SuiteCharlesFiddler 等這幾套軟體,以自己需求來說,Charles 就夠用了,因此這篇會以這套軟體操作介紹為主。

說明

有在 macOS Ventura‌ 13.0.1 、iOS 16.2 、Windows 10、Android 交叉測試過,確認是可以擷取到封包,由於 Windows 與 macOS 操作大同小異,以及本身是用 iPhone ,故以下說明與截圖會是 macOS 和 iPhone 為主

因目前許多網站和伺服器是以 HTTPS 來加密傳輸資料,若需要解析加密的資料,可用 Charles 內建提供的憑證來處理,就能看到加密前的資料,若有疑慮可用其它軟體以及另外準備憑證處理

開始前請先到官網下載安裝 Charles

免費版限制

雖說 Charles 是付費軟體,但可以免費使用,限制如下:

  1. 開啟程式時,需要等待 10 秒

2. 每次僅能使用 30 分鐘,超過需要重啟程式

note: 上述限制已夠我使用,故不影響 (不確定未來政策是否會調整)

macOS 設定教學

影片版教學

圖文教學

  1. 安裝憑證 (Certificate)
    在 Charles 的 Help → SSL Proxying
    可選擇直接安裝 (Install Charles Root Certificate),或先另存憑證 (Save Charles Root Certificate),在手動匯入
    這邊以手動匯入為例

2. 手動匯入憑證 (直接安裝者,可略過這步驟)
在 macOS 的 應用程式 → 工具程式 → 鑰匙圈存取
將另存的憑證手動匯入,並對該憑證點滑鼠右鍵的「取得資訊」,在「信任」中,改成「永遠信任」

3. 設定 Proxy
在 Charles 的 Proxy → SSL Proxying Settings → SSL Proxying
3–1. 勾選「Enable SSL Proxying」
3–2. 設定所有 Host 以及 Port 都要解析 (Empty fields match all values.)
3–3. 「macOS Proxy」也要開著

4. 開始紀錄 (Start Recording)
以 Visual Studio Code 為例

iPhone 設定教學

影片版教學

有錄影,但有些資料較敏感(ex: 手機序號等),且懶得後製影片,故不放 xd

圖文教學

  1. 設定 HTTP Proxy Port
    Proxy → Proxy Settings → Proxies → Port: 8888 → OK

2. 查看電腦的區域網路 IP
在 Charles 的 Proxy → Local IP Addresses

3. Install Charles Root Certificate in iOS Simulators

4. Install Charles Root Certificate on a Mobile Device or Remote Browser
這邊會提醒手機的代理伺服器以及要連哪個網站才能下載憑證

5. 需確保電腦與手機在同個區域網路

6. 手機設定代理伺服器
手機的設定 → 一般 → Wi-Fi → 點「i」的 icon 圖案 → 設定代理伺服器

7. 用 Safari 開啟 chls.pro/ssh,並下載憑證

8. 手機安裝憑證
手機的設定 → 已下載描述檔 → 安裝 (安裝後,可在這裡查看: 設定 → 一般 → VPN 與 裝置管)
測完,可在這移除

9. 手動開啟憑證 (開啟後,建議先把手機的 Wi-Fi 先關閉再開啟)
手機的設定 → 一般 → 關於本機 → 憑證信任設定 → 測試時記得開啟

10. 以 GitHub App 為例

小結

會有這篇是為了解決自己的痛點,像是買的除濕機提供的 App 只能設定 7 組開關時間,但我想要每天早晚指定時間都自動開啟 1 小時,因超過 App 提供 7 組的設定上限,於是乎有了解析手機 App 封包的想法,觀察打的是哪隻 API 並用 Postman 測試,最後寫成 iPhone 的捷徑與自動化,還能用 Siri 語音控制,進而實現自動化解決這問題

其實我 3 個多月前就已經完成上述的事情,發現在寫這篇文章時,有些細節都忘了,趁還有動力時,趕緊做個紀錄,免得哪天又忘記時,也能當筆記回顧

其他類似的軟體蠻多的,像是知名的 Wireshark 等軟體,這邊就不多贅述了

medium 文章連結:https://link.medium.com/3SaxKRlRUvb
本文同步發布於 小菜的 Blog https://riverye.com/

備註:之後文章修改更新,以個人部落格為主

--

--

被端走的小菜

大家好,我是被端走的小菜。以個人部落格更新為主:https://riverye.com/