Http抓包工具Charlse使用教程

來源:互聯網
上載者:User

標籤:blog   http   io   ar   os   使用   sp   檔案   on   

【原文】http://blog.csdn.net/wildfireli/article/details/19829479

Charles是目前最強大的http調試工具,在介面和功能上遠強於Fiddler,同時是全平台支援,堪稱聖杯級工具,唯一的缺陷是這貨是收費的,而且是要¥50美元大洋…當然網上是有破解版的,鄙視下自己,無恥地使用了…放在網盤裡,親可以默默帶走,不要留下一片雲彩。

破解版傳送門。

先安裝裡面的原版,然後copy charles.jar覆蓋到安裝目錄下的lib目錄即可。這是V3.6版,最新版本是V3.8.3,但破解補丁不通用,會導致無法啟動。

啟動後,聖杯的真面目如。

Charles有個會話(session,不是指http中的session)的概念,可以理解為瀏覽器中的tab,這個功能在需要調試多個網站頁面時很實用,當你重新整理頁面的時候,只會在當前session中捕獲請求。

(PS:ctrl+N建立個新的session,ctrl+W關閉當前session)

Charles的Proxy 伺服器啟動就可以使用(會提示給firefox安裝外掛程式),如果沒有捕獲到請求,請清理下瀏覽器緩衝。

介面功能初探

工具條包含了Charles的大部分功能:

有幾個功能比較抽象,後面會詳細說明。

右鍵請求出現菜單,Charles的右鍵菜單功能比fiddler強大太多了。

雙擊請求進入列表視圖,類似fiddler,方便查看和過濾請求。

Charles的過濾尋找功能非常贊,很快速:

請求詳情跟fiddler相似,但直觀不少:

工具視圖基本講解完畢,接下來我們用Charles做點事情。

本地代理和遠程代理

Charles的Proxy 伺服器連接埠跟fiddler一樣都是8888,即你的本機ip:8888。

我們的目標將一個壓縮檔代理成本地的源碼檔案。

點擊“Map Local”後:

index-min.js代理成index.js,重新整理頁面試試。

代理成功,so easy!

Charles的樹狀檢視比fiddler的列表視圖好的地方在於,多次重新整理後的請求會被歸納到樹裡面,更加一目瞭然,用fiddler的時候,有點強迫症的同學,都要點擊clear,有木有…

Charles是支援子目錄代理哦,非常實用的功能:(使用萬用字元*)

本地地址選擇個子目錄,不需要萬用字元。

如何判斷是否代理成功呢?

這點Charles比fiddler人性化多了。

校正是否代理成功,最省力的方式是點擊工具條上的重新整理按鈕,重新整理單個請求,如果代理成功,Charles會往“Notes”介面打個log,比如Mapped to local file: C:\www\htdocs\gallery\uploader\1.5\build\index-min.js。

去除代理配置

小技巧:所有的配置開關都可以通過工具條上的“工具”設定(倒數第二個按鈕)。

去掉代理配置:

小技巧:建議開啟No Caching,不緩衝請求。

mobile代理功能

手機或平板頁面的調試,我們需要把請求代理到pc端的Charles上。

必須確保mobile端和pc端連的是相同的無線網路。

ios的配置非常簡單

(借用我同事自寒的)

伺服器ip設定成pc的ip,連接埠好設定成8888即可。

然後mobile終端可以重新整理試試。

安卓機器的代理

首先,安卓機器必須有root許可權,其次需要藉助app才行,在安卓的任意市場搜尋 ProxyDroid,灰常好用的代理app。

有些瀏覽器是內建了代理配置功能,比如opera mobile,輸入opera:config ,不過我試了下沒代理成功,不知道是不是手機問題。

wp8的代理設定也很簡單,手機串連wifi 並進行設定下 設定–WiFi–長按串連好的WIFI–彈出編輯選項。

試試遠程代理

代理配置

Charles支援https和sockets的代理,還支援SSL,非常全面。

 

網速類比功能

throttle功能對於前端來說非常實用,可以看頁面在低網速下的表現,從而找出最佳化的點。

線上上環境通常有些因為網速慢導致的bug,在本機無法重現,那時候就很抓瞎,如果嫌遠程麻煩,推薦使用throttle。

首先先配置下throttle。

我們要看頁面在3G環境下的表現:

(Charles的預配置對於中國的網路環境並不準確,電信、移動、網通的速度還有有明顯差異。)

解析上幾個配置的含義:

Bandwidth(頻寬)、Utilistation(利用百分比)、Round-trip(往返延遲)、MTU(位元組)(MTU的說明請看百度百科)。

牛逼的斷點功能

Charles另一個非常實用的功能,對於開發人員和測試人員來說,堪稱神器。Charles能夠斷到發送請求前(篡改Request)和請求後(篡改Response)。

情境:ajax發送請求,我們需要測試介面的各種邊界情況,比如出錯、逾時等表現,Charles的斷點+隨意篡改,非常方便測試。

upload.php是我們要測試的上傳介面,右鍵選擇“BreakPoints”,開啟斷點。

小技巧:不用在web介面中操作,使用repeat功能,就可再次發送一樣的請求:

斷點列表查看

可以指定斷點“get”請求還是“post”請求。

重複發送請求

repeat功能對於測試同學特別有用,可以檢驗介面的健壯性。

repeat功對於前端的價值是不需要重新整理頁面,只需要repeat請求,比如檢驗代理是否成功,修改請求後執行等。

“repeat”重複發送一次請求。

“repeat Advances”可以自訂重複次數和重複間隔。

捕獲記錄控制

捕獲的請求太多,容易產生幹擾,Charles可以對捕獲記錄進行過濾。

然後配置“exclude”:

web介面

Charles有個有趣的web介面:

強大的是可以控制是否遠程可以訪問這個介面,還可以設定使用者名稱和密碼…碉堡了…

瀏覽器輸入http://control.charles/ :

Charles還有其他有趣功能等待大家挖掘,由於用的比較少,這裡就不再累述。

 

Http抓包工具Charlse使用教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.