抓包工具Charles的使用感受

今天用了一款非常不錯的抓包工具:Charles

Charles是一個HTTP代理/ HTTP監視器/反向代理,使開發人員能夠檢視其機器和Internet之間的所有HTTP和SSL / HTTPS流量。這包括請求,響應和HTTP標頭(包含cookie和快取資訊)

Charles 是在 Mac 下常用的網路封包擷取工具,在做 移動開發時,我們為了除錯與伺服器端的網路通訊協議,常常需要擷取網路封包來分析。

Charles 透過將自己設定成系統的網路訪問代理伺服器,使得所有的網路訪問請求都透過它來完成,從而實現了網路封包的擷取和分析。

除了在做移動開發中除錯埠外,Charles 也可以用於分析第三方應用的通訊協議。配合 Charles 的 SSL 功能,Charles 還可以分析 Https 協議

Chrome DevTool 不能滿足所有除錯

正常情況下,Chrome DevTool已經滿足了日常web開發的需求,但是有的特性:編輯request的引數、重定向request請求的資源、編輯response的資料,ChromeDevTool就很蛋疼了,而且檢視和除錯移動端資源時候Chrome也並不好用;

我常借用Charles做這些事情

抓取 Http 和 Https 的請求和響應,抓包是最常用的了。

重發網路請求,方便後端除錯,複雜和特殊情況下的一件重發還是非常爽的(捕獲的記錄,直接repeat就可以了,如果想修改還可以修改)。

修改網路請求引數(客戶端向伺服器傳送的時候,可以修改後再轉發出去)。 網路請求的截獲和動態修改。

支援模擬慢速網路,主要是模仿手機上的2G/3G/4G的訪問流程。

支援本地對映和遠端對映,比如你可以把線上資源對映到本地某個資料夾下,這樣可以方面的處理一些特殊情況下的bug和線上除錯(網路的css,js等資源用的是原生代碼,這些你可以本地隨便修改,資料之類的都是線上的環境,方面線上除錯);

可以抓手機端訪問的資源(如果是配置HOST的環境,手機可以借用host配置進入測試環境)