Charles 手機抓包記錄

file

Charles 很早以前用過,後來一直不用都忘記怎麼使用了。近期公司叫我去測試一個小程序的安全性,第一時間想到了用 Charles 抓包分析,這裏記錄一下過程方便後續查閱小程序

安裝

這裏有一個 Charles 4.2 的版本 下載後將 .jar 文件拷貝到 Contents/Java 裏面。瀏覽器

簡介

Charles 是在 Mac 下經常使用的網絡封包截取工具,在作移動開發時,咱們爲了調試與服務器端的網絡通信協議,經常須要截取網絡封包來分析。Charles 經過將本身設置成系統的網絡訪問代理服務器,使得全部的網絡訪問請求都經過它來完成,從而實現了網絡封包的截取和分析。
除了在作移動開發中調試端口外,Charles 也能夠用於分析第三方應用的通信協議。配合 Charles 的 SSL 功能,Charles 還能夠分析 Https 協議。安全

Charles 界面介紹

file

不過我我的更喜歡這種模式查看,這樣會按照域名分類歸檔,更方便我看網絡請求服務器

file

代理設置

打開 Charles 後將它設置成代理服務器,這樣手機上訪問 app 的時候就能夠監聽網絡請求。網絡

file

想要解決手機上面的網絡抓包還須要一些設置,在 Charles 菜單欄上選擇 Proxy -> Proxy Settings,填寫代理端口 8888,而且勾選啓動代理。app

file

手機設置

這裏我以 iPhone 爲例,首先咱們須要獲取電腦的 IP 地址,能夠在 Charles 幫助欄找到工具

file

file

咱們記住這個地址,而後打開手機找到連接的 WiFi 「注意這裏電腦和手機必須連接同一個 WiFi」操做以下:測試

file

file

配置代理選擇手動,而後下面輸入 Charles 幫助欄顯示的 IP,端口爲 8888網站

file

點擊儲存的時候,電腦上面會彈出一個 Charles 的消息框,點擊 Allow 運行。編碼

SSL 配置

手機訪問 HTTPS 網站的時候會顯示 unknown ,這是由於 https 是加密的,咱們的配置一下證書。

file

電腦端 SSL

先設置電腦上面的證書操做以下:

file

下面這一部若是證書是信任的能夠忽略

file

Charles 須要設置要監控的網址,這裏咱們設置監控全部

file

file

電腦設置完畢

手機端 SSL

手機證書設置以下:

file

點擊後以下圖所示,用 iPhone Safari 訪問這個地址「注意要用 Safari 瀏覽器」,而後安裝證書

file

證書安裝完後還須要信任這個證書,在手機「通用 -> 關於本機->證書信任設置」中開啓信任

file

Ok 到此爲止全部設置完畢

如今你能夠打開手機 App,而後 Charles 會抓下全部請求的包,效果圖:

file

PS

仔細按照上面的操做進行喲,否則你可能會遇到抓到 https 的網址數據亂碼,或者 unknown 的問題。

哈哈。結果我去測試的那個小程序沒有 Token 認證,意思是全部接口都對外暴露。。。。而後全部請求的參數都是 base64 編碼的「淺加密」,我只要解碼改幾個參數,再編碼請求就獲得他們數據了。。。

相關文章
相關標籤/搜索