抓包工具---Charles

簡介

Charles是一款代理服務(wù)器,通過成為電腦或者瀏覽器的代理,然后截取請求和請求結(jié)果達(dá)到分析抓包的目的。該軟件是用Java寫的,能夠在Windows,Mac,Linux上使用。開發(fā)iOS都在Mac系統(tǒng)上吧,安裝Charles的時候要先裝好Java環(huán)境。

Charles 是一款收費軟件,未注冊的版本會以 10 秒延遲啟動、每 30 分鐘自動退出的方式折騰用戶,要想順暢地使用,

可以使用在help->Register Charles,輸入注冊碼注冊即可:

? ??Registered Name: https://zhile.io

? ??License Key: 48891cf209c6d32bf4

主要功能

1、抓取 http 和 https 的請求和響應(yīng),這是最常用的。

2、重發(fā)網(wǎng)絡(luò)請求,方便后端調(diào)試。

3、修改網(wǎng)絡(luò)請求參數(shù)(客戶端向服務(wù)器發(fā)送的時候,可以修改后再轉(zhuǎn)發(fā)出去)。

4、網(wǎng)絡(luò)請求的截獲和動態(tài)修改。

5、支持模擬慢速網(wǎng)絡(luò),主要是模仿手機上的2G/3G/4G的訪問流程。

6、支持本地映射和遠(yuǎn)程映射,比如你可以把線上資源映射到本地某個文件夾下,這樣可以方便的處理一些特殊情況下的bug和線上調(diào)試(網(wǎng)絡(luò)的css,js等資源用的是本地代碼,這些你可以本地隨便修改,數(shù)據(jù)之類的都是線上的環(huán)境,方面在線調(diào)試)。

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

一、安裝配置

去官網(wǎng)下載軟件并安裝。

1、windows安裝

2、mac安裝


二、代理設(shè)置

(1)查看默認(rèn)端口:Proxy->Proxy Settings ?在這個頁面會看到HTTP Proxy的默認(rèn)端口是8888

2)查看當(dāng)前電腦的ip:

a、windows在cmd控制臺使用命令:ipconfig來查看自己對應(yīng)的ip

b、mac在terminal終端使用命令:ifconfig來查看自己對應(yīng)的ip

(3)手機上設(shè)置代理(記住手機跟電腦要在同一個網(wǎng)絡(luò))

ps:手機連接到Charles時會彈出提示框是否連接,點擊Allow允許即可

(4)設(shè)置Charles SSL代理:Proxy>SSL?Proxying Settings?

?1) Enable SSL Proxying復(fù)選框打上勾

?2) 添加你想要的設(shè)置代理的域名,端口默認(rèn)443

(5)手機下載ssl證書

1)Help->SSL Proxying ->Install Charles Root Certificate on a Mobile Device or Remote Browser,會彈出如下提示框:

2) 手機瀏覽器輸入網(wǎng)址:http://chls.pro/ssl,即可自動下載證書到手機端


三、常用功能使用

1、抓包

? ? 連接上charles后即可攔截http、https的請求。

2、過濾

a、Structure(結(jié)構(gòu)形式)

b、Sequence(按照順序)

方法一:在主界面的中部的?Filter 欄中輸入需要過濾出來的關(guān)鍵字。

方法二:菜單欄選擇?“Proxy”->”Recording Settings”,在彈出的窗口中選擇?Include 欄,再點擊“Add”,在彈出的窗口中輸入需要監(jiān)控的協(xié)議,主機地址,端口號等信息,來添加一個項目。如下圖所示:

方法三:在想過濾的網(wǎng)絡(luò)請求上右擊,選擇?“Focus”,之后在 Filter 一欄勾選上 Focussed 一項,如下圖所示:?

可以臨時性、快速地過濾掉一些沒有通過關(guān)鍵字的網(wǎng)絡(luò)請求。

3、重放

1)適用場景:

? ? 當(dāng)不想在頁面操作,直接驗證開發(fā)改的bug時。

????一般配合斷點來重新請求接口,進行數(shù)據(jù)驗證

2)具體使用:

選中某條訪問的請求,然后直接去點擊菜單欄下方的回放按鈕即可請求。

4、斷點

常用的使用場景:

? ??a、前端做了一些長度或者必填校驗,也想驗證后端接口是否也有對應(yīng)校驗時。

????b、返回一些特定的數(shù)據(jù)來查看前端的顯示是否正確(比如前端某個字段超過4個字后...顯示等)

????c、新增模擬大量數(shù)據(jù)來查看前端顯示是否正確

????d、具體的4xx、5xx錯誤時,前端顯示是否正確

1)添加斷點

斷點一般用于串改接口的請求參數(shù)或者返回的response的具體值。

方法一:選中某個請求,右鍵選中“Breakpoints”,加入斷點

方法二:菜單欄選擇?“Proxy”->”Breakpoint?Settings”,在彈出的窗口中選擇?Include 欄,再點擊“Add”,在彈出的窗口中輸入需要請求類型、host、端口號、path路徑等信息,來添加一個項目。如下圖所示:

2)攔截串改Request請求值

3)攔截串改Response返回的值


5、網(wǎng)絡(luò)環(huán)境模擬

1)適用場景:

????需要進行弱網(wǎng)測試時,可以使用該功能。

2)具體使用:

????菜單欄選擇?“Proxy”->”Throttle Settings”,在彈出的窗口中選擇對應(yīng)的Throttle preset模式來選擇不同類型的限流情況(可定義),勾選“Enable Throttling”啟用。如下圖所示:

6、本地文件映射

1)適用場景:很多時候需要頻繁修改數(shù)據(jù)內(nèi)容,這個時候總聯(lián)系后臺改數(shù)據(jù)庫會比較麻煩,而且數(shù)據(jù)變化也會影響到其他開發(fā)者。這個時候用本地模擬數(shù)據(jù)就可以完美解決。既方便又不影響別人。

如圖為線上抓到的網(wǎng)絡(luò)請求數(shù)據(jù):




操作:

1.在本地電腦任意位置新建一個記事本:復(fù)制抓到的數(shù)據(jù)格式粘貼到這里

2.設(shè)置URL使用本地數(shù)據(jù):選中url右鍵 — Map Local — choose 本地記事本路徑

3.再次請求該接口:如下說明配置成功,以后想改數(shù)據(jù)直接在記事本里改就可以了

4.關(guān)閉本地模擬


7、重定向

1)適用場景:對第三方進行聯(lián)調(diào)測試,無法訪問乙方測試環(huán)境,直接訪問乙方正式環(huán)境,設(shè)置請求url重定向指向乙方開發(fā)公網(wǎng)測試環(huán)境,自主與乙方進行交互聯(lián)調(diào)測試。

打開charles,工具欄–tools–map remote settings–勾選允許重定向–點擊add新增?

charles新增重定向頁面輸入攔截url重定向到目的url

至此charles重定向已完成設(shè)置,移動端設(shè)置charles代理,所有符合設(shè)置條件的url重定向目的url;

8、DNS欺騙

1)適用場景:一般的開發(fā)流程中,在上線之前都需要在測試環(huán)境中先行進行驗證,而此時手機客戶端請求的域名是不太容易改變的,可以通過設(shè)置dns方式把域名轉(zhuǎn)發(fā)到測試機上,具體設(shè)置Tools->DNS Spoofing Settings比如要把所有包含xxxxxx.com的域名轉(zhuǎn)到10.0.0.71的服務(wù)器上,其實用修改HOST的方式是可以解決的;

2)操作流程:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容