抓包工具charles(mac使用記錄)


一、簡介

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”,初步安裝成功后的界面如下:
可是“此根證書不被信任“是不可以的,所以還需要右鍵打開快捷菜單,選擇“顯示簡介”,打開以下界面:
把“信任”-“使用此證書時:”的選項改為“始終信任”,此時關閉簡介面板,再回到“鑰匙串訪問”界面,就會變成下圖,說明已經安裝成功:
 
2、Install Charles Root Certificate in iOS Simulators
選擇“Install Charles Root Certificate in iOS Simulators”,安裝完成會彈出以下提示框:
 
3、Install Charles Root Certificate on a Mobile Device or Remote Browser
選擇“Install Charles Root Certificate on a Mobile Device or Remote Browser”,會彈出以下提示框:

  

  

 

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的操作,不過這個操作是簡化操作)

 

手機上

點擊手機網絡最右側的按鈕
進入以下頁面,翻到最底部,把“HTTP代理”切換到“手動”,在“服務器”欄中輸入分享此網絡的Mac的ip地址,在“端口”欄里輸入“8888”:
此時,如果Mac上的Charles是打開的,就會彈出如下圖中的窗口:
點擊“Allow”按鈕,至此就成功地把Charles設為了你的設備的HTTP Proxy,設備上的http請求都可以被抓包了,但是HTTPS還不可以!!!
(2)browse to chls.pro/ssl to download and install the certificate。
按照提示在瀏覽器里輸入“chls.pro/ssl”,就會自動跳轉到以下頁面:
點擊右上角“安裝”,進入以下頁面:
再次點擊右上角“安裝”,從下部彈出彈框,如下圖:
點擊“安裝”按鈕,進入以下頁面:
進入通用->關於本機->證書信任設置,將剛剛安裝的證書設為信任即可
至此,大功告成!!!

 

五、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 
這里寫圖片描述

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM