1. 程式人生 > >使用Charles對iPhone進行Http(s)請求攔截(抓包)

使用Charles對iPhone進行Http(s)請求攔截(抓包)

ont row 參考 view 手機端 apt data clas 文件

首先準備工具

1> Charles (下載對應操作系統的安裝包進行安裝,本文使用 macOS 進行演示)

2> iPhone (本文使用SE,系統版本:iOS 10)

開始

首先,對Charles進行配置:

菜單:Proxy -> Proxy Settings... -> 勾選 Enable transparent HTTP proxying

技術分享圖片

Proxy -> Proxy Settings

然後找到電腦的局域網IP地址:這裏自己去找吧

接著,打開你的iPhone:設置 -> Wifi -> 連接上和電腦同一路由器的Wifi,點擊右邊的 i 進入配置

配置:拉到底部,找到 <HTTP代理>, 選擇手動, 服務器填入電腦的IP地址,端口號寫 8888 然後返回會刷新Wifi連接

技術分享圖片

設置 -> Wifi -> i -> HTTP代理 手動

此處配置完成後,Charles會彈出提示框,

大意是:有人請求連接Charles ip是xxx.xxx.xxx.xxx是否允許?

這裏要註意!!!Charles的默認選項是Deny拒絕,所以一定不要按回車!!! 手動選擇Allow!!!

到此,即可正常抓取iPhone的連接。

但,目前蘋果的大部分App都采用了更安全的HTTPS進行數據交互,所以我們要抓取HTTPS還需要進一步的配置。

繼續

回到Charles,進行證書安裝:

Charles菜單:Help -> SSL Proxying -> Install Charles Root Certificate 點擊後自動打開鑰匙串訪問,請輸入電腦開機密碼

技術分享圖片

Help -> SSL Proxying -> Install Charles Root Certificate

完成後你會看見兩個證書:

技術分享圖片

兩個證書

雙擊證書,打開證書詳情:展開信任 -> 使用此證書時:修改為 始終信任,關閉證書詳情要求輸入開機密碼

技術分享圖片 信任 -> 使用此證書時

兩個證書都設置為始終信任。

接著,安裝手機端的證書:

回到Charles,菜單:Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

技術分享圖片 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

點擊後會彈出對話框,大意是:配置你的設備來使用Charles,證書下載地址:chls.pro/ssl

技術分享圖片 配置手機端證書

打開手機Safari,訪問下載地址:chls.pro/ssl (如果我們顯示的不同,則以提示中的地址為準)

正常情況下訪問此地址會請求安裝一個配置文件。若無請求請檢查Wifi是否設置了 HTTP代理 (參考配置圖:設置 -> Wifi -> i -> HTTP代理 手動)。

技術分享圖片 手機端安裝證書1

點擊安裝:

技術分享圖片 手機端安裝證書2

網上很多教程到這就結束了,但返回Charles會發現還是無法正常抓取HTTPS的請求。

其實還有一個設置,信任證書:

打開iPhone設置:通用 -> 關於手機 -> 拉到最底部 證書信任設置 -> 勾選剛剛安裝的證書

技術分享圖片 信任證書

好了,回到Charles進行最後的收尾設置:

菜單:Proxy -> SSL Proxying Settings...

技術分享圖片 Proxy -> SSL Proxying Settings...

勾選:Enable SSL Proxying,點擊 Add 添加規則

技術分享圖片 域名:配置完上述所有內容後,你會在Charles中看到很多請求,都是以域名為標題的

域名:配置完上述所有內容後,你會在Charles中看到很多請求,都是以域名為標題。

端口:恒定為443

若不需要指定HTTPS連接(即抓取所有HTTPS連接),域名填寫 * 即可。

技術分享圖片 配置 SSL Proxying

TIPS:

> WIFI代理,請在不需要使用的時候關閉,否則可能導致手機無法正常聯網。

> 若Charles界面一片空白

技術分享圖片 一片空白

點擊菜單:File -> New Session

技術分享圖片 File -> New Session

然後就有了

技術分享圖片 有了

測試數據:獲取QQ中的QQ天氣

技術分享圖片 QQ天氣

完。






使用Charles對iPhone進行Http(s)請求攔截(抓包)