Charles應用

監控APP 封包使用, 就是一個簡便的代理服務器工具

Charles 是在電腦上運行的 Web Proxy (HTTP Proxy / HTTP Monitor),很多時候我們會需要去監控有關Network的相關資訊 如果是透過瀏覽器去使用的那還比較好處理,但是透過非瀏覽器就會需要透過代理服務器,來協助我們去做監控. 通過將自己設置為系統的網絡訪問代理服務器,這樣所有的 network請求都會通過它,從而實現截獲和分析。

Charles 主要的功能包括

  • 截取 Http 和 Https 網絡封包

  • 支持重發網絡請求,方便後端調試

  • 支持修改網絡請求參數

  • 支持網絡請求的截獲並動態修改

  • 支持模擬慢速網絡

結果

太神啦~

就連https 也都可以正常看到Network資訊

開始建置監控機制

預計會有10個步驟,跟著步驟走,Bug遠離我.

1.下載並安裝Charles

Charles 官網: https://www.charlesproxy.com/

2.下載並安裝夜神模擬器

下載夜神模擬器 or genymotion(下載你可以安裝apk的模擬器,並且有修改proxy功能的既可) 我是使用夜神模擬器作為本次文章的範例

3.確認你要安裝的apk 是否需要超過Android 7+版本(後續操作會不同)

是不是很快,馬上就被我水了3個步驟,接下來的步驟絕對會更輕鬆的.

4.啟動Charles & proxy setting & install CA

基礎設定Port default 8888

Port 基本上不需要修改,除非你有衝突。

設定Https 過濾條件

這樣設定基本上就可以滿足需求,後續可再透過incloud & exclouded 來做篩選 Host : * Port: *

牽涉到Https 就會扯到證書,開始設定吧

路由 >>> HELP > SSL Proxying

兩個Install & save charles root cret 都要使用

大約經過這些一系列的安裝證書後, 就可以進行攔截封包的主要工作了。

夜神模擬器相關設定

Android 因為安全性的關係, 以前只要到上一個步驟就可以完成封包攔截,但現在沒辦法,還需要將證書安裝模擬器裡面,Https才有辦法正常攔截及分析封包內容。

附上之前調整的筆記

結果

完成安裝證書及模擬器相關證書安裝設定後,你就可以開心的抓取封包了。

Last updated