一、什麼是CharlesIOS
CharlesIOS是一款Windows、Mac以及IOS平台上的網絡抓包和調試工具,被全球範圍內的開發者廣泛使用。它可以截獲移動設備和服務器之間的通信,方便對數據進行監控和調試。
二、CharlesIOS的功能特點
1、HTTP/HTTPS捕獲:Charles可以捕獲HTTP和HTTPS的請求和響應,甚至可以解密HTTPS報文中的內容,方便我們進行網絡調試和分析。
2、Rewrite功能:使用Charles的Rewrite功能可以將服務器返回的內容進行篡改,比如說可以將JSON格式數據以XML的形式返回,方便移動端開發人員進行接口兼容性的測試。
3、Map本地資源:如果本地沒有某個資源,可以使用Charles將該資源映射到本地,防止開發測試受到影響。
4、延遲和限速:Charles可以模擬網絡延遲和在網絡速度變化時的表現,讓開發人員更好地進行網絡性能測試。
5、Badges功能:Charles支持自定義標記,方便我們對不同的請求進行標記,方便開發人員進行統計分析。
三、基本使用方法
安裝好Charles之後,需要進行一些配置才能正常使用。
1、將安裝證書: Charles默認會生成一個CA證書,需要將該證書導入到手機或者電腦中,才能截獲HTTPS協議的請求。
打開Charles界面 -> Help -> SSL Proxying -> Install Charles Root Certificate
2、開啟代理:在手機或電腦的網絡設置中開啟Charles代理。
設置代理IP地址和端口號
3、檢查網絡是否被截獲:如果網絡還沒有被截獲,可以在Charles的界面中,查看是否有網絡請求。
以上就是Charles的基本使用方法,接下來我們可以針對不同的需求,進行一些高級設置。
四、進階技巧
1、將Charles代理到真機上
當我們需要對真機上的應用進行抓包時,可以通過Charles代理到真機上。
1、打開Charles -> Proxy -> Proxy Settings -> Enable Transparent HTTP Proxying。
2、連接同一WIFI的電腦上在瀏覽器中打開http://charlesproxy.com/getssl,下載並安裝相應證書。
3、找到手機的WIFI設置,手動設置HTTP代理為Charles所在電腦的IP、端口號為8888。
4、打開手機中需要測試的應用,即可看到對應的網絡請求和響應。
2、使用Rewrite功能
假設後台接口返回數據中有特殊字符,我們需要將這些特殊字符去掉。
1、打開Charles -> Proxy -> Rewrite Settings -> Add。
2、在彈出的窗口內填寫要被替換的正則表達式和要替換成的內容,點擊ok即可。
3、修改接口返回數據
假設我們想要在數據返回前添加一些附加信息,比如:對數據進行加密/解密,或是進行簽名認證等操作。
1、打開Charles -> Tools -> Map Local。
2、點擊添加,填寫本地文件路徑,一般是json格式文件。
3、找到待攔截的請求,選擇 Map Remote,將請求映射到本地的文件。
4、修改本地的json數據,保存即可。
4、使用Charles進行接口Mock測試
如果我們的後端服務尚未開發完成,我們可以使用Charles進行Mock測試。
1、打開Charles -> Tools -> Map Local。
2、點擊添加,填寫接口地址和Mock數據。
3、找到希望進行Mock測試的接口請求,選擇 Map Remote即可。
5、Charles實現限速
我們可以通過Charles來模擬不同網絡環境條件,包括網絡延遲、抖動等,以便在開發之前進行充分測試。
1、打開Charles -> Proxy -> Throttle Settings。
2、勾選 Enable Throttling,並設置相關參數即可。
五、總結
Charles作為網絡抓包和調試工具,具有完善的功能和廣泛的應用場景。幾乎每一個有網絡請求的應用,都可以被Charles所監測到。如果你是一名全能編程開發工程師,那麼Charles就是你不可缺少的一款工具。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/297741.html