Charles 使用教程

安裝charles前端

若是是ubuntu版本:java

sudo apt-get update 
sudo apt-get install charles-proxy


1.前言:

Charles是一款抓包修改工具,一個HTTP代理服務器,HTTP監視器,反轉代理服務器。它容許一個開發者查看全部鏈接互聯網的HTTP通訊·這些包括request, response和HTTP headers (包含cookies與caching信息),界面簡單直觀,易於上手,數據請求控制容易,修改簡單,抓取數據的開始暫停方便等等優點!ios

2.下載與安裝

下載java的運行環境支持,裝好java環境後,下載charles的破解,裏面通常會有註冊的jar文件,直接替換安裝目錄lib下相同名稱的jar包(ps:不註冊的話,每次使用30分鐘,工具就會自動關閉)。ubuntu

3.PC端抓包

下面是pc端的抓包使用狀況 Charles支持抓去http、https協議的請求,不支持socket。瀏覽器

而後charles會自動配置IE瀏覽器和工具的代理設置,因此說打開工具直接就已是抓包狀態了。 服務器

1 垃圾桶圖標,功能是clear,清理掉全部請求顯示信息。cookie

2 搜索關鍵字,使用ctrl+f實現,能夠設置搜索的範圍。數據結構

3 圓圈中間紅點的圖標,控制抓取的數據顯示或者不顯示的設置。 通常都使其爲不顯示抓去狀態,只有當本身測試的時候,令其爲抓取並顯示狀態。app

4 編輯修改功能,能夠編輯修改任意請求信息,修改完畢後點擊Execute就能夠發送一個修改後的請求數據包。socket

5 抓取的數據包的請求地址的url信息顯示。

6 抓取的數據包的請求內容的信息顯示。post請求能夠顯示form形式,直觀明瞭。

7 返回數據內容信息的顯示。

其中五、六、7中都有各類形式的數據顯示形式,其中raw是原始數據包的狀態。

4.模式

charles抓包的顯示,支持兩種模式,Structure和Sequence,其優勢分別以下。

Structure形式以下圖 優勢:能夠很清晰的看到請求的數據結構,並且是以域名劃分請求信息的,能夠很清晰的去分析和處理數據。

Sequence形式以下圖 優勢:能夠很清晰的看到所有請求,不用一層一層的去點開,這裏是以數據請求的順序去執行的,也就是說那個請求快就在前面顯示。

具體使用哪一種形式,看我的喜愛。

5.移動APP抓包

這裏相比其餘抓包軟件來講要簡單的多了,具體步驟以下:

(1)抓取HTTP請求

手機wifi連接設置代理爲手動,代理IP爲電腦IP(cmd  ipconfig查看),端口設置爲Charles開啓的代理接口(Proxy>>Proxy Setting)。

若是勾選了Proxy - Windows Proxy 的話,那麼就會將電腦上的抓包請求也抓取到,若是隻抓手機的話,能夠將這個設置爲不勾選。

(2)抓取手機HTTPS請求,需再安裝證書

一、電腦端安裝SSL證書,  help→ SSL Proxying→Install charles Root Certificate

若是沒有做用,多是證書須要設置信任:

經過菜單——運行,輸入mmc,在不受信任的證書裏面找到Charles Proxy CA,剪切粘貼到受信任根證書頒發機構下便可。

2.手機端安裝SSL證書,charles打開 help→ SSL Proxying→Install charles Root Certificate on a Mobile Device or Remote Browser(以下圖),手機端訪問標註部分chls.pro/ssl下載安裝手機https證書。

注:ios用戶須要設置證書信任。路徑爲:通用——關於本機——(下拉到最下面)證書信任設置——設置爲徹底信任 便可使用

3.打開Proxy Setting(Proxy>>SSL Proxying Setting...),勾選Enable SSL Proxying,在Location部份選擇add,按以下圖添加,抓取任意站點、443端口的數據。

到此,Charles能夠正常抓取手機端https請求。

6.地址映射 

進行接口測試,或者前端進行本地調試開發。Tools-Map Remote...打開,進行相應地址映射。

 

7.修改請求參數

右鍵請求,選擇Breakpoints;再次發送請求過來時,會先截獲請求。

至此,可正常修改請求參數,進行調試

8.其餘經常使用功能

下面再說說charles的一些其餘經常使用的功能

  1. 選擇請求後,右鍵能夠看到一些經常使用的功能,這裏說說Repeat 就是重複發包一次。 而後Advanced Repeat就是重複發包屢次,這個功能用來測試短信轟炸漏洞很方便。
  2. 還有好比說修改referer測試CSRF漏洞,修改form內容測試XSS,修改關鍵的參數測試越權,修改url、form、cookie等信息測試注入等,都很是方便。

9.charles使用問題彙總

Charles是一款很好用的抓包修改工具,可是若是你不是很熟悉這個工具的話,確定會遇到各類感受很莫名其妙的情況,這裏就來幫你一一解答。

  • 1 爲何下載了不能用啊?打不開啊。

由於charles是須要java環境才能運行的,須要先安裝java環境才能夠。

  • 2 爲何我用着用着就自動關閉了?大概30分鐘就會關閉一次。

由於charles若是沒有註冊的話,每次打開後就只能喲個30分鐘,而後就會自動關閉,因此最好在使用前先按照說明去進行工具的註冊操做。

  • 3 爲何我在操做的時候有時候就直接工具就界面卡住死了,關都關不掉,只能用任務管理器才能夠關掉?

這個的確是charles這個工具的一個bug,開始用的時候,我也很噁心,並且常常悲劇,可是如今也有相應的解決辦法了,下面那樣操做就能夠了。

首先隨便抓些包,要求有圖片的請求。

而後選中一個圖片的請求,而後分別點擊 Response - Raw 而後那裏會加載其中的內容,而後加載完畢後,再去隨便操做就能夠了,就不會在悲劇的直接工具卡死掉了。。。

  • 4 爲何用了charles後,我就上不了網頁了,可是qq能夠。
  • 由於若是charles是非正常狀態下關閉的話,那麼IE的代理就不會被自動取消,因此會致使這種狀況。

解決辦法:

第一種:直接打開charles,而後再正常關閉便可。 第二種:去將IE瀏覽器代理位置的勾選去掉。

  • 5 爲何我用charles不能抓到socket和https的數據呢?

首先,charles是不支持抓去socket數據的。 而後,若是抓不到https的數據的話,請查看你是否是沒有勾選ssl功能。 Proxy - Proxy Settings - SSL 設置

  • 6 爲何我用charles抓取手機APP,什麼都是配置正確的,可是卻抓不到數據。

首先,請確保電腦的防火牆是關閉狀態,這個很重要。

若是,防火牆關了仍是不行,那麼請把手機wifi斷掉後從新鏈接,這樣通常就能夠解決問題了。 若是以上方法仍是不行的話,那麼請將手機wifi位置的ip地址設置成靜態ip,而後重啓charles工具。

  • 7 抓包後發現form中有些數據顯示是亂碼怎麼辦?

請在Raw模式下查看,Raw模式顯示的是原始數據包,通常不會由於編碼問題致使顯示爲亂碼。

  • 8 我用charles抓手機app的數據,可是同時也會抓去到電腦端的數據,能夠設置嗎?

能夠,設置位置在Proxy - Windows Proxy ,勾選表示接收電腦的數據抓包,若是隻想抓去APP的數據請求,能夠不勾選此功能。

  • 9 爲何我用IE能夠抓到數據,可是用360或者谷歌瀏覽器就不行?

請確保360或者谷歌的代碼設置中是否是勾選設置的是 使用IE代理。

  • 10 想要複製粘貼某些數據的話,怎麼辦,右鍵沒有相應功能啊?

請直接使用Ctrl +C 和 Ctrl+V 便可。

以上爲參考網上博文,以及我的使用心得總結,可知足平常基本使用。

相關文章
相關標籤/搜索