你必須很努力

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

2022/12/20
字數統計: 1k閱讀時間: 3 min

前言

透過網路封包擷取工具,可以擷取到 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 秒 等待10秒的畫面

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

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


macOS 設定教學

影片版教學

圖文教學

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

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

  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」也要開著
    Setting Proxy

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


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/2022/12/20/Capturing-Packets-on-a-Computer-and-Mobile-Phone/

發表日期:2022-12-20

更新日期:2022-12-20

CATALOG
  1. 1. 前言
  2. 2. 說明
  3. 3. 免費版限制
  4. 4. macOS 設定教學
    1. 4.1. 影片版教學
    2. 4.2. 圖文教學
  5. 5. iPhone 設定教學
    1. 5.1. 影片版教學
    2. 5.2. 圖文教學
  6. 6. 小結