抓包工具Charles基本用法
Charles提供兩種檢視封包的頁籤,一個是Structure,另一個是Sequence,Structure用來將訪問請求按訪問的域名分類,Sequence用來將請求按訪問的時間排序。任何程式都可以在Charles中的Structure視窗中看到訪問的域名。
二、Charles常用功能
Charles功能十分強大,這裡介紹幾個開發中常用的功能。
1、抓取移動裝置傳送的Http請求
先將移動裝置連線到Charles客戶端。首先在電腦中輸入cmd開啟命令列視窗,輸入ipconfig檢視本機連線無線網路的IP地址,這個地址作為移動裝置連線Charles客戶端的代理地址,移動裝置必須要和計算機在同一網路中才能連線上。開啟Charles客戶端,點選Proxy->Proxy Settings選單,可以設定移動裝置連線到Charles的埠,這樣移動裝置代理配置需要的ip地址和埠號都有了。Charles是通過將自己設定成代理伺服器來完成抓包的,勾選系統代理後,本地系統(如果通過瀏覽器傳送請求)傳送出去的請求都能被擷取下來。因此,如果想只抓取手機APP傳送的請求的話,可以不勾選WindowsProxy選項,這樣在測試時就不會被本機Http請求所幹擾。
另外,如果想要抓取瀏覽器傳送的請求包,勾選WindowsProxy選項之後還是抓取失敗,可能是瀏覽器沒有設定成使用系統的代理伺服器,只要設定成使用系統的代理伺服器,或者將瀏覽器的代理伺服器設定成127.0.0.1:8888也可以成功。
移動裝置配置之後,第一次通過手機訪問手機中的傳送請求時,Charles會彈出提示框,提示有設備嘗試連線到Charles,是否允許,如果不允許的話,手機發送請求失敗,點選Allow允許,這樣這個裝置的IP地址就會新增到允許列表中,如果錯誤點選了Deny可以重啟Charles會再此提示,或者通過Proxy->Access Control Settings手動新增地址,如果不想每個裝置連線Charles都要點選允許的話,可以新增0.0.0.0/0允許所有裝置連線到Charles。
2、過濾不必要的網路包
在抓取手機發送的請求時,有許多請求包是對圖片等不需要關注的資源的請求,我們只想對指定目錄伺服器上傳送的請求進行抓取,這時候就可以通過過濾網路包的方式實現。有兩種實現方式:
1)選擇Proxy->Recording Settings選單,然後在include欄新增需要抓取包的指定伺服器請求協議、地址、埠號,也可以在exclude欄新增不抓取包的地址。
2)在Sequence介面的Filter欄中填入需要過濾的關鍵字。
3、代理轉發
我們在進行本地開發功能的測試時,可以將手機請求的地址轉發到本機地址的程式進行執行。右鍵選擇Map Remote,配置請求轉發的地址。
並選擇Tools->Map Remote Settings選單,勾選配置的轉發條目。
也可以右擊選擇Map Local配置請求對映到本機地址。
4、抓取Https請求
Charles預設情況下是抓取不到Https請求的包的,需要進行配置安裝證書。選擇Help->SSL Proxying->Install Charles Root Certificate,
點選下一步,
然後繼續下一步直到匯入成功,
選擇Help->SSL Proxying->Install Charles Root Certificate on aMobile Device or Remote Browse選單,
手機根據提示地址、埠號配置號代理後,瀏覽器開啟http://chls.pro/ssl,
選擇允許,
安裝證書,然後配置Proxy->SSL Proxying Settings,新增要抓取的Https請求,
如果不使用Charles,想要刪除手機裡面的證書,可以通過手機中的設定->通用->描述檔案與裝置管理,刪除指定的證書即可。
---------------------
作者:Terisadeng
來源:CSDN
原文:https://blog.csdn.net/dongyuxu342719/article/details/78933618
版權宣告:本文為博主原創文章,轉載請附上博文連結!