一、簡介
Charles是mac端的一款截取與分析網絡請求的工具,在網絡開發中使用其作分析,可以大大提高我們的開發效率。Charles是收費軟件,一般可以試用三十天,但是可以通過相應的破解來獲取服務。
二、安裝與使用
下載好壓縮包后,解壓打開,將軟件包拖入應用程序文件夾中,這時候一個原版的軟件就可以讓我們使用,只是有一個試用期,右鍵單擊我們的Charles應用,顯示包內容:
將如下文件夾中的jar包替換為我們破解文件夾中的jar包:
三、使用Charles在mac上進行抓包分析
在軟件安裝完成后,我們已經可以在mac上截取一般的網絡請求了,打開軟件,將Proxy設置中的Mac OS X Proxy勾選,設置為網絡代理,這時候如果發生網絡請求,就可以被Charles截獲到
抓獲信息的界面如下:
軟件的功能十分強大,Structure是將請求按域名排序,Sequence是將請求時間排序,下面的Request和Response分別為請求的數據包和返回的數據包,如果是json數據,還會自動幫我們解析格式。
四、在移動設備上進行抓包
在移動設備上截獲網絡請求,我們的移動設備必須和電腦在同一網段,在我們電腦的網絡設置中查看IP地址,然后在移動設備上點擊我們連接的電腦上的網絡,在代理一欄中,選擇手動,將我們剛才查看的ip地址填寫在這里,並且設置一個與Charles相同的端口號,默認都是8888。
在Charles中的Proxy setting中如下勾選並配置端口號
Mac或移動設備上抓取https協議需要特殊配置:
電腦上:
Install Charles Root Certificate 選擇“Install Charles Root Certificate”,初步安裝成功后的界面如下:



4、在Charles的工具欄上點擊設置按鈕,選擇SSL Proxying Setting,選中Enable SSL Proxying,然后在Locations表單填寫要抓包的域名和端口,點擊Add按鈕,在彈出的表單中Host填寫域名,比如填api.instagram.com,Port填443,如果沒加入Locations表單的話,在抓包時會有一個報錯:SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations,這個時候,在左側的域名上點右鍵:SSL Proxying Enabled,就OK了。(其實就是上面添加Locations的操作,不過這個操作是簡化操作)
手機上
點擊手機網絡最右側的按鈕







五、Charles的更多應用
1、過濾網絡請求
有時候我們只想抓取某個主機的網絡請求,我們可以設置過濾網絡,在Proxy菜單中的Recording Setting中,我們選擇include標簽,可以在里面添加一個白名單,這樣Charles就只截取在這個主機下的請求:
如果彈框沒有出現,將charles切換為小窗口
- 1
- 2
2、模擬限速網絡
很多時候,我們需要測試在網絡不佳時應用請求的相關數據,我們可以模擬設置限速網絡,在Proxy菜單中的Throttle Settings中將,Enable Throttling勾選,並可以在下面進行網路設置,only for selected host可以設置一個指定的主機訪問進行限制網絡。
3、修改網絡信息,多次請求
在測試接口時,有時候我們需要反復進行不同參數的接口請求,Charles也支持我們進行請求參數的修改和多次請求,在請求上點擊右鍵,現則edit:
其中的參數,請求類型等我們都可以修改,之后點擊execute進行重新請求
批量請求選擇repeat advanced....
- 1
- 2
iterations:10 //請求次數 concurrency:2 //請求的並發數 show results in new session //新建一個session窗口 delays //請求延遲
- 1
- 2
- 3
- 4
六、Charles 網絡請求重定向
tools->map remote