從頭學習爬蟲(三十九)進階篇—-手機APP抓包

NO IMAGE

Charles是一款非常實用的抓包工具。它通過電腦端代理,攔截網路請求和響應來實現資料包的抓取。支援http/https。

安裝

Charles需要Java環境,在安裝之前確保已有配置Java執行環境。然後到官網下載Charles並安裝。破解的話,可以使用網友提供的工具: Charles 線上破解

設定

開啟Charles抓包工具:

Charles

電腦端設定代理:Proxy —> Proxy Setting:

設定代理

埠號填寫8888,並選中Enable transparent HTTP proxying。
Android手機端設定:首選將手機和電腦連線在同一無線區域網上(同一個路由器)。然後利用cmd-ipconfig檢視自己電腦的ip:

然後在手機wifi連線中進行設定:

這裡代理設定選擇手動,主機名即是電腦的區域網ip,埠號為電腦端Charles設定的埠號。

抓取http資料

安卓上面的步驟就設定完成了。我們使用小米商城app來試一下抓取的資料包。
手機端開啟小米商城:

同時監測電腦端Charles的資料抓取:

需要自己篩選一下,可以看到紅框中就是小米商城http請求的域名,點開可以看到詳細的網路請求介面:

點選選中對應的介面,在右側可以看到抓包的結果,選中Contents可以看到抓取的內容,上部分為請求的資料包,有Headers、Cookie、請求體的Text/Hex/Form形式。下部分為響應的資料包。包括有Headers、響應結果Json、JsonText等形式。

抓取https資料包

上面的方式只能抓取到http資料包,要抓https還需要安裝證書。
首先安裝電腦端的CA證書:Help —> SSL Proxyging —> Install Charles Root Certificate:

安裝證書:

下一步:

將所有證書都放入下列儲存 —> 瀏覽 —> 受信任的根證書頒發機構 —> 確定 —> 下一步:

最後點選完成。

安卓手機端安卓證書:很多手機通過瀏覽器下載證書安裝會提示無法安裝,所以這裡通過在電腦上下載好手機端的證書,傳到手機上再來安裝。

在瀏覽器中地址中輸入chsl.pro/ssl,下載手機端證書並傳到手機儲存上:

在手機設定裡面找到系統安全/安全與隱私(小米5手機:設定 —> 更多設定 —> 系統安全)

找到之前存放證書的位置,選擇證書檔案:

輸入證書名稱charles,點選確定,安裝完成。

通過小米商城lite的微信小程式來測試下抓取https資料包。開啟微信小程式“小米商城Lite”,點選頁面跳轉。並監測Charles抓取的資料:

可以看到這就抓取到了https請求資料包。

也可以使用fiddler

哪個順手用哪個 然後通過分析請求 進行抓取