CharlesIOS:全能編程開發工程師必用的抓包工具

一、什麼是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-hant/n/297741.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-28 12:16
下一篇 2024-12-28 12:16

相關推薦

  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python中的while true:全能編程開發必知

    對於全能編程開發工程師而言,掌握Python語言是必不可少的技能之一。而在Python中,while true是一種十分重要的語句結構,本文將從多個方面對Python中的while…

    編程 2025-04-29
  • lsw2u1:全能編程開發工程師的利器

    lsw2u1是一款多功能工具,可以為全能編程開發工程師提供便利的支持。本文將從多個方面對lsw2u1做詳細闡述,並給出對應代碼示例。 一、快速存取代碼段 在日常開發中,我們總會使用…

    編程 2025-04-29
  • 7ezmpyh全能編程工程師

    7ezmpyh是一個完全能勝任各種編程任務的全能編程工程師。本文將從多個方面對7ezmpyh進行詳細闡述,包括他的編程技能、項目經驗和個人特點。 一、編程技能 7ezmpyh擁有廣…

    編程 2025-04-29
  • 全能編程開發工程師必備技能——如何優化大整數的計算

    本文將會為你分享如何解決大整數計算問題,以9999999967為例,我們將從多個方面對其做詳細闡述,並給出完整的代碼示例。 一、大整數的表示方法 在計算機中,我們通常採用二進制數來…

    編程 2025-04-29
  • 如何通過jstack工具列出假死的java進程

    假死的java進程是指在運行過程中出現了某些問題導致進程停止響應,此時無法通過正常的方式關閉或者重啟該進程。在這種情況下,我們可以藉助jstack工具來獲取該進程的進程號和線程號,…

    編程 2025-04-29
  • xkujs全能編程開發工程師

    本文將從以下幾個方面詳細闡述xkujs作為一名全能編程開發工程師的技術能力和實戰經驗,為初學者提供學習參考。 一、JavaScript基礎 作為一名全能編程開發工程師,JavaSc…

    編程 2025-04-29
  • Spring Cloud Greenwich.Release:全能編程開發工程師的首選

    本文將從以下幾個方面對Spring Cloud Greenwich.Release進行詳細闡述,包括項目概述、核心組件、應用案例、配置和部署等,旨在為全能編程開發工程師提供更好的解…

    編程 2025-04-29
  • 註冊表取證工具有哪些

    註冊表取證是數字取證的重要分支,主要是獲取計算機系統中的註冊表信息,進而分析痕迹,獲取重要證據。本文將以註冊表取證工具為中心,從多個方面進行詳細闡述。 一、註冊表取證工具概述 註冊…

    編程 2025-04-29
  • 99mav全能編程開發工程師專題

    本文介紹99mav的全能編程開發工程師的各種技能點,以及如何成為一名全能的開發工程師。 一、全面掌握編程技能 一個全能的開發工程師需要全面掌握編程技能,包括但不限於: 熟練掌握多種…

    編程 2025-04-29

發表回復

登錄後才能評論