2021年爬蟲人員必須掌握的 App 抓包工具(一):Charles


此文轉載自:https://blog.csdn.net/xw1680/article/details/112857776

爬蟲不僅僅只對 Web 頁面的信息進行爬取,還可以爬取應用中存在的大量數據,例如移動端的 App。由於 App 中的數據都是通過異步的方式從后台服務器中獲取的,類似於 Web 中的 Ajax 請求,所以在爬取數據前同樣需要分析 App 用於獲取數據的 URL。

由於 App 運行在手機或平板電腦中,在獲取請求地址時無法像 Web 一樣在 PC 端通過瀏覽器進行獲取。所以就需要使用專業的抓包工具,實現 App 請求地址的抓取工作。本篇博文將介紹如何使用 Charles 抓包工具獲取 App 中的請求地址。

一、Charles 工具的下載與安裝

可以實現 App 抓包的工具有很多,例如, Charles、Fiddler、mitmproxy 等。不過從性能的角度來講,Charles 的功能更加強大一些。Charles 抓包工具是收費軟件,但可以免費試用 30 天。點擊 此處 打開 Charles工具的官方下載頁面,Charles 是一個跨平台網絡抓包工具,支持 Windows、Mac 和 Linux 平台,讀者可以根據自己的操作系統下載對應的版本即可。這里以 Windows 系統為例進行演示,如下圖所示。

下載完成后,本地磁盤中將出現名稱為 charles-proxy-4.6.1-win64.msi 的安裝文件,雙擊該文件將顯示如圖所示的歡迎對話框,在該對話框中直接單擊 Next 按鈕。

在 End-User License Agreement(最終用戶許可證協議) 中,勾選 I accept the terms in the License Agreement 同意協議,然后單擊 Next 按鈕。如下圖所示。

在彈出的 Destination Folder 對話框中,選擇自己需要安裝的路徑,然后單擊 Next 按鈕,如圖所示。

在 Ready to install Charles (准備安裝) 對話框中,直接單擊 Install 按鈕,如下圖所示。

安裝完成以后將顯示如圖所示的對話框,在該對話框中直接單擊 Finish 按鈕即可。

二、SSL 證書的安裝

2.1 安裝 PC 端證書

Charles 工具安裝完成以后,在菜單中部或底部的搜索位置找到 Charles 啟動圖標,啟動 Charles 工具。Charles 啟動后將默認獲取當前 PC 端所有網絡請求,例如,自動獲取 PC 端瀏覽器中訪問的百度頁面,不過在查看請求內容時,將顯示如圖所示的亂碼信息。
在這里插入圖片描述
說明:在默認的情況下 Charles 是可以獲取 PC 端的網絡請求的。

目前的網頁多數都是使用 HTTPS 與服務端進行數據交互,而通過 HTTPS 傳輸的數據都是加密的,此時通過 Charles 所獲取到的信息也都是亂碼,需要安裝 PC 端 SSL 證書。安裝 PC 端 SSL 證書的具體步驟如下:

(1) 打開 Charles 工具,依次選擇 Help ⇒ SSL Proxying ⇒ Install Charles Root Certificate 菜單項打開安裝 SSL 證書對話框,如圖所示。
在這里插入圖片描述
(2) 在已經打開的安裝 SSL 證書對話框中,單擊 安裝證書 按鈕,然后在證書導入向導對話框中直接單擊 下一步 按鈕,如圖所示。
在這里插入圖片描述
(3) 打開證書向導的 證書存儲 對話框,在該對話框中首先選擇 將所有的證書都放入下列存儲 選項,然后單擊 瀏覽 按鈕,選擇證書的存儲位置為 受信任的根證書頒發機構,再單擊 確定 按鈕,最后單擊 下一步 按鈕即可。如圖所示。

(4) 在證書導入向導的 正在完成證書導入向導 的對話框中,直接單擊 完成 按鈕,如圖所示。

(5) 在彈出的安全警告框中單擊 按鈕,如圖所示,即可完成 SSL 證書的安裝。

(6) 在 導入成功 的提示對話框中單擊 確定 按鈕,然后在安裝證書的對話框中單擊 確定 按鈕,如圖所示。

2.2 設置代理

PC 端的 SSL 證書安裝完成以后,在獲取請求詳情內容時依然顯示亂碼。此時還需要設置 SSL 代理,設置 SSL 代理的具體步驟如下:

在 Charles 工具中,依次選擇 Proxy ⇒ SSL Proxying Settings菜單項,在 SSL Proxying 選項卡當中勾選 Enable SSL Proxying 復選框,然后單擊左側 Include 下面對應的 Add 按鈕,在 Edit Location 窗口中設置指定代理,如果沒有代理的情況下可以將其設置為 “*”(表示所有的 SSL) 即可,如下圖所示:


SSL 代理設置完成以后,重新啟動 Charles,再次打開瀏覽器中的百度網頁,單擊左側目錄中的 / 將顯示如圖所示的詳細內容。
在這里插入圖片描述

2.3 配置網絡

當需要通過 Charles 抓取手機中的請求地址時,需要保證 PC 端與手機端在同一網絡環境下,然后為手機端進行網絡配置。配置網絡的具體步驟如下:

(1)確定 PC(電腦端) 與手機端在同一網絡下,然后在 Charles 工具的菜單中依次選擇 Help ⇒ SSL Proxying ⇒ Install Charles Root Certificate on a Mobile Device or Remote Browser 菜單項,如圖所示。
在這里插入圖片描述
(2) 打開移動設備安裝證書的信息提示框,在該對話框中需要記錄 IP 地址與端口號,如圖所示。
在這里插入圖片描述
(3) 將提示框中的 IP 地址與端口號記住后,將手機 (這里以 Android 手機為例) WIFI 連接與 PC(電腦端) 同一網絡的 WIFI,然后在手機 WIFI 列表中長按已經連接的 WIFI,在彈出的菜單中選擇 修改網絡 如圖所示。

(4) 在修改網絡的界面中,首先勾選 顯示高級選項,然后在 服務器主機名服務器端口 所對應的位置填寫 Charles 的移動設備安裝證書的信息提示框中所給出的 IP 與端口號,單擊 保存 按鈕。如圖所示:

(5) 在手機端服務器主機與端口號設置完成后,PC (電腦端) Charles 將自動彈出是否信任此設備的確認對話框,在該對話框中直接單擊 Allow 按鈕即可,如圖所示。
在這里插入圖片描述
如果 PC(電腦端) 的 Charles 沒有提示上圖所示的提示框,可以在 PC(電腦端) 命令行窗口內通過 ipconfig 命令獲取當前電腦端的無線局域適配器所對應的 IPv4 地址,並將該地址設置在步驟(4) 中手機連接 WIFI 的服務器主機名當中。

2.4 安裝手機端證書

PC(電腦端) 與手機端的網絡配置完成以后,需要將 Charles 證書保存在PC(電腦端),然后安裝在手機端,這樣 Charles 才可以正常的抓取手機 App 中的網絡請求。安裝手機端證書的具體步驟如下:

(1) 在 Charles 工具中依次選擇 Help ⇒ SSL Proxying ⇒ Save Charles Certificate…菜單項,如圖所示。
在這里插入圖片描述
(2) 將證書文件保存在 PC(電腦端) 指定路徑下,如圖所示。
在這里插入圖片描述
(3) 將 Charles_SSL 證書文件導入手機中,然后在手機中依次選擇 設置 ⇒ 安全和隱私 ⇒ 更多安全設置 ⇒ 從 SD 卡安裝證書(憑據),選擇 Charles_SSL 證書文件,輸入手機密碼后設置證書名稱,單擊 確定 按鈕。如圖所示。

說明:不同品牌的手機安裝 Charles_SSL 證書文件的方式會有所不同,所以需要讀者根據使用的手機品牌尋找對應的安裝方式。

(4) 完成以上的配置工作以后,打開 Android 手機中的某個 App 中的某個新聞網頁,如圖所示。

(5) 在 Charles 工具中左側的請求欄內,同時觀察不斷出現換色閃爍的最新請求,即可查詢到 Android 手機中新聞所對應網頁的請求地址,如圖所示。
在這里插入圖片描述
在不確定 Charles 工具中所獲取的請求地址是否正確時,可以將獲取的地址在 PC(電腦端) 的瀏覽器中進行頁面的驗證工作,驗證結果如圖所示。
在這里插入圖片描述

三、總結

在這里插入圖片描述
感謝您閱讀本篇博文,希望本文能成為您編程路上的領航者。祝您閱讀愉快!


在這里插入圖片描述

    好書不厭讀百回,熟讀課思子自知。而我想要成為全場最靚的仔,就必須堅持通過學習來獲取更多知識,用知識改變命運,用博客見證成長,用行動證明我在努力。
    如果我的博客對你有幫助、如果你喜歡我的博客內容,請 點贊評論收藏 一鍵三連哦!聽說點贊的人運氣不會太差,每一天都會元氣滿滿呦!如果實在要白嫖的話,那祝你開心每一天,歡迎常來我博客看看。
 編碼不易,大家的支持就是我堅持下去的動力。點贊后不要忘了 關注 我哦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM