charles教程大全

從接觸測試工作以來,第一款正式使用的軟件就是charles,當(dāng)然在他之前也有用過fiddler,postman等,

不過在使用過charles后其他的工具全被我淘汰了,charles我覺得是一款非常好用的抓包軟件,頁面簡潔大方,功能強(qiáng)大實(shí)用,兼容性好。

哈~我才不會(huì)告訴你我是因?yàn)楫?dāng)時(shí)用的是mac電腦所以只能用charles了~~嘿嘿

Charles 主要的功能包括下面這些:

截取 Http 和 Https 網(wǎng)絡(luò)封包。支持重發(fā)網(wǎng)絡(luò)請(qǐng)求,方便后端調(diào)試。支持修改網(wǎng)絡(luò)請(qǐng)求參數(shù)。支持網(wǎng)絡(luò)請(qǐng)求的截獲并動(dòng)態(tài)修改。支持模擬慢速網(wǎng)絡(luò)。

charles相當(dāng)于一個(gè)插在服務(wù)器和客戶端之間的“過濾器”;

當(dāng)客戶端向服務(wù)器發(fā)起請(qǐng)求的時(shí)候,先到charles進(jìn)行過濾,然后charles在把最終的數(shù)據(jù)發(fā)送給服務(wù)器;

注意:此時(shí)charles發(fā)給服務(wù)器的數(shù)據(jù),不一定是客戶端請(qǐng)求的數(shù)據(jù);charles在接到客戶端的請(qǐng)求時(shí)可以自由的修改數(shù)據(jù),甚至可以直接Block客戶端發(fā)的請(qǐng)求;

服務(wù)器接收請(qǐng)求后的返回?cái)?shù)據(jù),也會(huì)先到charles,經(jīng)過charles過濾后再發(fā)給客戶端;

同理:客戶端接收的數(shù)據(jù),不一定就是服務(wù)器返回的數(shù)據(jù),而是charles給的數(shù)據(jù);

正因?yàn)樯厦娴脑?,所以charles能實(shí)現(xiàn)的功能,對(duì)前端開發(fā)者來說非常有吸引力,相當(dāng)于請(qǐng)求和響應(yīng)都可控的,而且charles為了控制更加方面,提供很多簡潔的操作;

好了,話不多說,進(jìn)入正題:


受限于我當(dāng)前實(shí)用的是windows系統(tǒng),暫時(shí)先為大家講解charles-windows版本,后續(xù)會(huì)更新mac版本


一、charles的下載和安裝

要想下載一個(gè)工具,怎么辦最簡單,在開發(fā)工具里,最方便的方式就去去它的官網(wǎng)下載,當(dāng)然前提是在我們的祖國懷抱內(nèi)~

charles就可以這樣下載,首先百度一下咯

或者直接點(diǎn)擊下載地址:Download a Free Trial of Charles ? Charles Web Debugging Proxy



根據(jù)你的系統(tǒng)版本選擇對(duì)應(yīng)的版本

charles現(xiàn)在出到了4.2.7版本,這個(gè)基本上沒什么影響,一般只要下載最新的版本就可以啦

記得好像是4.0一下不支持http2.0的抓取,所以這點(diǎn)注意一下就ok啦

下載好后進(jìn)入安裝頁面,基本也是一路點(diǎn)下去,記得自己記得安裝目錄


打開安裝目錄,雙擊運(yùn)行charles.exe


安裝好啦~

卸載的時(shí)候,就更簡單了,直接找到控制面板-程序與功能-卸載或更改程序,然后雙擊卸載就可以了




二、charles的基本介紹

關(guān)于charles有很多很強(qiáng)大的功能,這里由于篇幅限制我只做部分功能說明

*charles提供兩種不同的視圖方式,可自行按需選擇查看

structure視圖是將網(wǎng)絡(luò)請(qǐng)求按訪問的域名分類,也就是理解為文件夾類型


Sequence 視圖是將網(wǎng)絡(luò)請(qǐng)求按訪問的時(shí)間排序,理解為單個(gè)文件


*查看默認(rèn)端口號(hào)“Proxy->Proxy Settings”,默認(rèn)端口號(hào)為8888,可自行修改


*過濾請(qǐng)求

當(dāng)請(qǐng)求雜亂無章時(shí),為了確保我們拿到自己想要的數(shù)據(jù),可以使用filer進(jìn)行過濾關(guān)鍵字



過濾前


過濾后










三、charles設(shè)置代理,手機(jī)進(jìn)行抓包

這一步的目的是為了移動(dòng)設(shè)備連接到Charles,這樣移動(dòng)設(shè)備發(fā)起的所有請(qǐng)求才能在Charles中看到

首先確保自己手機(jī)的wifi和電腦在同一網(wǎng)絡(luò)下,千萬不要用4G,那么沒辦法抓包,必須連接wifi

使用Charles工具查看PC本地IP和端口號(hào)(端口號(hào)默認(rèn)為8888,也可自行修改),選擇“Help->Local IP Address”


我的電腦本地ip地址為:192.168.1.159

不過我更喜歡選擇“Help->SSL-Proxying->install charles Root ....Browser”查看,這樣子可以一下子把端口號(hào)和ip看到



這里只是我的,你們的IP肯定跟我不一樣,千萬不要填我的

拿出我們需要設(shè)置代理的Android手機(jī),找到wifi,長按或者點(diǎn)擊查看wifi詳情(各類型Android手機(jī)方法大同小異,多進(jìn)行嘗試)

然后進(jìn)入到wifi詳情頁面

把代理一欄從無改為手動(dòng),并在里面輸入剛才看到的IP和端口號(hào),例如:192.168.1.x(x為你自己的號(hào)碼,每個(gè)人都不一樣)

輸入自己的主機(jī)名和端口

點(diǎn)擊保存或者連接,如果沒有則直接返回退出

然后再次進(jìn)入詳情,看看代理一欄是不是已經(jīng)變成了剛才自己輸入的ip和端口號(hào),如果顯示則代表代理設(shè)置成功。

如果繼續(xù)顯示代理為無,則代表剛才你沒有保存,再試一遍


記得如果你不需要用手機(jī)設(shè)置代理了,把代理記得關(guān)掉,不然會(huì)影響你瀏覽某些網(wǎng)頁和應(yīng)用


這時(shí),手機(jī)設(shè)置好了,打開你需要進(jìn)行調(diào)試的app,你會(huì)發(fā)現(xiàn)電腦上charles出現(xiàn)一條提示:


第一個(gè)箭頭標(biāo)注的是你的手機(jī)ip地址。你需要允許該手機(jī)的練級(jí),點(diǎn)擊“Allow”

這個(gè)提示,只會(huì)在手機(jī)首次鏈接電腦的時(shí)候出現(xiàn),同意后后面則不會(huì)出現(xiàn)。

注意,如果你的手機(jī)鏈接時(shí)沒有出現(xiàn)該彈窗,去檢查自己剛才手機(jī)端的代理是否設(shè)置錯(cuò)誤

如果設(shè)置沒有問題,可選擇“Proxy->Access Control Settings”手動(dòng)進(jìn)入Charles的設(shè)置選項(xiàng),添加當(dāng)前手機(jī)的IP


手機(jī)IP查看方式:

進(jìn)入wifi詳情

好了,到此為止,你基本已經(jīng)完成了大半的設(shè)置,基本可以正常進(jìn)行抓包了

但是,部分手機(jī)還需要安裝下載一個(gè)手機(jī)證書才能正常使用,安裝方法如下:

同樣點(diǎn)擊Help->SSL-Proxying->install charles Root ....Browser,查看手機(jī)證書下載


chls.pro/ssl

這一段是告訴你,需要你去瀏覽器下載一個(gè)證書

此時(shí)你打開手機(jī)默認(rèn)瀏覽器,然后在網(wǎng)址欄里輸入

chls.pro/ssl

記得,此時(shí)你一定要是代理開啟狀態(tài)

你會(huì)得到一個(gè)文件下載提示,下載后,在瀏覽器下載內(nèi)容里找到剛才那個(gè)crt文件,打開后進(jìn)入命名頁面

可自定義名稱,或者不改。點(diǎn)擊保存。部分手機(jī)此時(shí)會(huì)讓你輸入手機(jī)鎖屏密碼,或者讓你設(shè)置鎖屏,照做就可以了。







出現(xiàn)如下提示代表安裝成功。

我演示使用的手機(jī)是oppo,部分Android手機(jī)證書會(huì)存在安裝問題,比如小米好像需要手動(dòng)安裝,大家可自行百度證書安裝方法,

我后續(xù)會(huì)進(jìn)行更新特殊情況的說明



四、查看charles請(qǐng)求

到此,你的設(shè)備和Charles就建立了連接,可以嘗試在設(shè)備上訪問一個(gè)地址或者app,在Charles左側(cè)視圖就能實(shí)時(shí)看到請(qǐng)求啦~

Charles是通過將自己設(shè)置成代理服務(wù)器來完成抓包的,勾選系統(tǒng)代理后,本地系統(tǒng)(如果通過瀏覽器發(fā)送請(qǐng)求)發(fā)送出去的請(qǐng)求都能被截取下來。因此,如果想只抓取手機(jī)APP發(fā)送的請(qǐng)求的話,可以不勾選WindowsProxy選項(xiàng),這樣在測試時(shí)就不會(huì)被本機(jī)Http請(qǐng)求所干擾。

也就是,去掉這個(gè)勾選的狀態(tài)










后記:

IOS版本先附錄一個(gè)別人的教程,后續(xù)再更新我自己的

地址:http://blog.devtang.com/2015/11/14/charles-introduction/

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

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

  • 轉(zhuǎn)自http://blog.csdn.net/lmmilove/article/details/50244537 ...
    抓兔子的貓閱讀 25,597評(píng)論 6 11
  • 轉(zhuǎn) http://blog.csdn.net/lmmilove/article/details/50244537 ...
    倫倫子_f7b3閱讀 1,096評(píng)論 0 2
  • ?【我在悅讀】虞美人盛開 書名:《二十歲,沒有十年》 作者:孫晴悅 篇目:最后六章 收獲:我們總以為時(shí)間還很多,但...
    一只小松果閱讀 195評(píng)論 0 0
  • 查了一些資料,做了以下總結(jié):
    馬小帥mm閱讀 3,154評(píng)論 0 0
  • 靜靜的聽,感受它們,而生活從一開始就上演了種種悲歡和離合。我們無法改變,在最后有些事情,它們可以讓我們暫時(shí)學(xué)會(huì)忘卻...
    王凱澤閱讀 238評(píng)論 0 1

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