Charles微信小程序抓包教程

一、 導入Charles證書

在使用Charles之前,需要將Charles的證書導入到手機中,才能夠監控HTTPS請求,否則只能夠監控HTTP請求。

導入證書的方法如下:

1、在電腦上安裝Charles

2、打開Charles,選擇Help -> SSL Proxying -> Install Charles Root Certificate

3、按照提示,將Charles證書導入到系統中

4、將手機連上電腦,打開Charles的Proxy -> Proxy Settings,並且開啟SSL Proxying

5、在手機上打開http://charlesproxy.com/getssl,下載Charles的證書

6、打開設置 -> 通用 -> 描述文件,找到Charles證書,並且點擊安裝

7、在手機的WLAN設置中,將HTTP代理設置成手動,並且填入電腦的IP地址和端口號(默認為8888)

8、打開微信小程序,在Charles上可以看到抓包結果

二、 抓包技術介紹

Charles可以通過兩種方法來監控網絡請求,分別是:

1、代理網絡請求,將所有的請求都轉發到Charles上,再將請求轉發給服務器

<script type="text/javascript">
  wx.request({
    url: 'https://example.com/api',
    success: function(res) {
      console.log(res)
    },
    fail: function() {
      console.log('fail')
    }
  })
</script>

2、安裝證書,監控HTTPS請求,然後解密HTTPS請求,得到明文的請求和響應

<script type="text/javascript">
  wx.request({
    url: 'https://example.com/api',
    success: function(res) {
      console.log(res)
    },
    fail: function() {
      console.log('fail')
    },
    complete: function(res) {
      console.log(res)
    }
  })
</script>

三、 抓包實戰

1、抓取小程序訪問API的請求

首先打開一個微信小程序,然後在Charles的Proxy -> SSL Proxying Settings 中加入一個規則,如下圖所示:

在小程序中的請求將自動被捕獲,然後可以對請求進行攔截、修改、添加headers等等操作:

// 攔截請求
if (request.url.match(/api/)) {
  request.responseStatusCode = 403;
  request.responseText = 'Access Denied';
}

// 修改headers
if (request.url.match(/api/)) {
  for (var header in request.requestHeaders) {
    if (header.toLowerCase() == 'authorization') {
      request.requestHeaders[header] = 'Bearer newtoken';
    }
  }
}

// 添加headers
if (request.url.match(/api/)) {
  request.requestHeaders['X-Custom-Header'] = 'Custom Value';
}

2、修改小程序中的請求

有時候我們需要修改小程序中的請求,比如將請求方法從GET改為POST,更改URL中的參數等等。這時可以使用Map Local功能,將請求映射到一個本地的文件中,然後對文件進行修改。具體的步驟如下:

1)在Charles上,選擇 Tools -> Map Local

2)點擊Add按鈕, 添加一條Rule,如下圖所示:

3)點擊Edit按鈕,修改對應的文件,保存修改

4)在小程序中對應的請求就會被重定向到本地文件中的內容

四、 總結

本文介紹了Charles微信小程序抓包的方法,包括證書的導入、抓包技術介紹、抓包實戰、修改小程序中的請求等方面。了解了這些內容之後,你會更加熟練地使用Charles來抓包,更快地找到問題並且解決問題。

原創文章,作者:WDDWS,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/330772.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WDDWS的頭像WDDWS
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變量類型,而是在變量第一次賦值時自動識別該變量的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬盤。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29
  • 爬蟲是一種程序

    爬蟲是一種程序,用於自動獲取互聯網上的信息。本文將從如下多個方面對爬蟲的意義、運行方式、應用場景和技術要點等進行詳細的闡述。 一、爬蟲的意義 1、獲取信息:爬蟲可以自動獲取互聯網上…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29

發表回復

登錄後才能評論