Charles網絡抓包工具使用教程

1. 前言:


Charles是一款抓包修改工具,相比起burp,charles具有界面簡單直觀,易於上手,數據請求控制容易,修改簡單,抓取數據的開始暫停方便等等優勢!作爲程序員, 這個工具的使用還是必須,  廢話不多說,  來點實在的, 下面來詳細介紹下這款強大好用的抓包工具的使用

2. 下載安裝


首先需要下載java的運行環境支持(一般用burp的人肯定也都有裝java環境,下載鏈接:鏈接: http://pan.baidu.com/s/1c2wRVHI 密碼: rkcu, 這個是昨天剛從甲骨文官網下載的),裝好java環境後,下載Charlet(鏈接: http://pan.baidu.com/s/1c14dr0k 密碼: 9cjv  本軟件僅供學習使用不要用作其他商業目的,不要亂傳播,要不然樓主被抓了以後沒法分享了)

3. 電腦端抓包


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

然後charles會自動配置瀏覽器和工具的代理設置,所以說打開工具直接就已經是抓包狀態了。 這裏打開百度抓包下,工具界面和相關基礎功能如下圖所示:


上圖中的7個位置是最常用的幾個功能。

1. 那個垃圾桶圖標,功能是clear,清理掉所有請求顯示信息。

2. 那個望遠鏡圖標,功能是搜索關鍵字,也可以使用ctrl+f實現,可以設置搜索的範圍。


3. 圓圈中間紅點的圖標,功能是領抓去的數據顯示或者不顯示的設置。 這個本人認爲是charles工具很方便的一個兩點,一般都使其爲不顯示抓去狀態,只有當自己測試的時候的前後,在令其爲抓取並顯示狀態。這樣可以快準狠的獲取到相關自己想要的信息,而不必在一堆數據請求中去尋找。

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

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

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

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

其中5、6、7中都有各種形式的數據顯示形式,其中raw是原始數據包的狀態, 更多功能可以去幫助文件中查看英文版教程!

4. 顯示模式


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

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


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


具體要說兩種形式哪個更好,這個就是見仁見智了。個人喜歡第一種,左側列表欄比較習慣!

5. 移動端抓包


這裏相比其他抓包軟件來說要簡單的多了,具體步驟如下:

1. Charles上的設置 

要截取iPhone上的網絡請求,我們首先需要將Charles的代理功能打開。在Charles的菜單欄上選擇“Proxy”->“Proxy Settings”,填入代理端口8888,並且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的設置。如下圖所示:


我們需要獲取Charles運行所在電腦的IP地址,打開Terminal,輸入ifconfig en0, 即可獲得該電腦的IP

2. iPhone上的設置 

在iPhone的 “設置”->“無線局域網“中,可以看到當前連接的wifi名,通過點擊右邊的詳情鍵,可以看到當前連接上的wifi的詳細信息,包括IP地址,子網掩碼等信息。在其最底部有“HTTP代理”一項,我們將其切換成手動,然後填上Charles運行所在的電腦的IP,以及端口號8888,如下圖所示:  


設置好之後,我們打開iPhone上的任意打開網絡鏈接, 盡情地玩耍,哈哈!(然後你會發現很多app的密碼和賬戶一覽無餘,so,以後註冊小公司網站時密碼一定要和自己的qq, 支付寶等等密碼區分開,要不然小公司服務器被攻破之後,後果可想而知)

注意:手機要與電腦在同一個WiFi下哦!這個很重要

6. 其他常用功能


相信上面介紹的那些你已經學會了吧,下面再說說charles的一些其他常用的功能

選擇請求後,右鍵可以看到一些常用的功能,這裏說說Repeat 就是重複發包一次。 然後Advanced Repeat就是重複發包多次,這個功能用來測試短信轟炸漏洞很方便。


還有比如說修改referer測試CSRF漏洞,修改form內容測試XSS,修改關鍵的參數測試越權,修改url、form、cookie等信息測試注入等,都非常方便。

好了,這款工具的介紹就到這裏了!

7. 問題彙總


Charles是一款很好用的抓包修改工具,但是如果你不是很熟悉這個工具的話,肯定會遇到各種感覺很莫名其妙的狀況,這裏就來幫你一一解答。

1. 爲什麼下載了不能用啊?打不開啊。

因爲charles是需要java環境才能運行的,需要先安裝java環境纔可以。

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

因爲charles如果沒有註冊的話,每次打開後就只能喲個30分鐘,然後就會自動關閉,所以最好在使用前先按照說明去進行工具的註冊操作。

3. 爲什麼用了charles後,我就上不了網頁了,但是qq可以。

因爲如果charles是非正常狀態下關閉的話,那麼瀏覽器的代理就不會被自動取消,所以會導致這種情況。

解決辦法:

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

4. 爲什麼我用charles不能抓到socket和https的數據呢?

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

5. 爲什麼我用charles抓取手機APP,什麼都是配置正確的,但是卻抓不到數據。

首先,請確保電腦和手機是在同一個局域網下,這個很重要。然後確保手機的代理是否設置正確!

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

首先,請在Raw模式下查看,Raw模式顯示的是原始數據包,一般不會因爲編碼問題導致顯示爲亂碼。

其次,解決中文亂碼

 Response中文亂碼:在Info.plist 中 的vmoption 添加-Dfile.encoding=UTF-8 ( info.plist路徑: 應用程序->Charles.app->顯示包內容->Info.plist)

7.  我用charles抓手機app的數據,但是同時也會抓去到電腦端的數據,可以設置嗎?

可以,設置位置在Proxy - MacOS Proxy ,勾選表示接收電腦的數據抓包,如果只想抓去APP的數據請求,可以不勾選此功能。

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

請直接使用Command +C 和 Command+V 即可。

發佈了77 篇原創文章 · 獲贊 18 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章