⑴ 如何使用charles抓取手機上的操作
Charles上的設置
要截取iPhone上的網路請求,我們首先需要將Charles的代理功能打開。在Charles的菜單欄上選擇「Proxy」->「Proxy Settings」,填入代理埠8888,並且勾上」Enable transparent HTTP proxying」 就完成了在Charles上的設置。如下圖所示:
iPhone上的設置
首先我們需要獲取Charles運行所在電腦的IP地址,打開Terminal,輸入ifconfig en0, 即可獲得該電腦的IP,如下圖所示:
在iPhone的 「設置」->「無線區域網「中,可以看到當前連接的wifi名,通過點擊右邊的詳情鍵,可以看到當前連接上的wifi的詳細信息,包括IP地址,子網掩碼等信息。在其最底部有「HTTP代理」一項,我們將其切換成手動,然後填上Charles運行所在的電腦的IP,以及埠號8888,如下圖所示:
設置好之後,我們打開iPhone上的任意需要網路通訊的程序,就可以看到Charles彈出iPhone請求連接的確認菜單(如下圖所示),點擊「Allow」即可完成設置。
軟體使用:
切換視圖顯示
enter image description here
上圖中的7個位置是最常用的幾個功能。
1 那個垃圾桶圖標,功能是clear,清理掉所有請求顯示信息。
2 那個望遠鏡圖標,功能是搜索關鍵字,也可以使用ctrl+f實現,可以設置搜索的范圍。
3 圓圈中間紅點的圖標,功能是領抓去的數據顯示或者不顯示的設置。 這個本人認為是charles工具很方便的一個兩點,一般都使其為不顯示抓去狀態,只有當自己測試的時候的前後,在令其為抓取並顯示狀態。這樣可以快准狠的獲取到相關自己想要的信息,而不必在一堆數據請求中去尋找。
4 編輯修改功能,可以編輯修改任意請求信息,修改完畢後點擊Execute就可以發送一個修改後的請求數據包。
5 抓取的數據包的請求地址的url信息顯示。
6 抓取的數據包的請求內容的信息顯示。
post請求可以顯示form形式,直觀明了。
7 返回數據內容信息的顯示。
其中5、6、7中都有各種形式的數據顯示形式,其中raw是原始數據包的狀態。
解決中文亂碼
Response中文亂碼:在Info.plist 中 的vmoption 添加-Dfile.encoding=UTF-8
info.plist路徑 程序->Charles.app->顯示包內容->Info.plist
⑵ Charles設置代理之後,為什麼電腦和手機都不能上網。
造成這種問題的原因就是charles等代理工具也攔截了電腦網頁的請求,但是使用的是charles代理工具的證書,導致瀏覽器無法驗證此網頁的證書,進而導致了報錯。
解決方法:我們只需要將charles的證書添加到電腦的信任證書中即可。
進入Charles的Help中,選擇SSL Proxying,然後點擊Install Charles Root Certificate。