1. 程式人生 > >網絡抓包神器-Charles使用指南

網絡抓包神器-Charles使用指南

功能 clear 新版本 平臺 off 結構 重復 地址 谷歌瀏覽器

http://blog.csdn.net/liulanghk/article/details/46342205

    • 目錄
    • 概述
    • 安裝
    • 顯示模式
    • PC端抓包
    • 移動應用抓包
    • 其他技能
    • charles使用問題匯總
    • 參考目錄

1.概述

Charles是目前最強大的http調試工具,在界面和功能上遠勝於Fiddler,同時是全平臺支持,這麽好用的軟件可惜就是收費的,網上是有破解版的Charles,學習交流可下載。

2.安裝

首先需要下載java的運行環境支持。裝好java環境後,可以直接去百度搜索並下載charles的破解版,下載到破解版之後,裏面一般會有註冊的jar文件,然後註冊後就可以永久使用了(ps:不註冊的話,每次使用30分鐘,工具就會自動關閉),下載鏈接中是 V3.6版(http://pan.baidu.com/s/1h7xFL),最新版本是V3.8.3沒有破解包,所以不要升級到最新版。

3. 顯示模式

charles抓包的顯示,支持兩種模式,Structure和Sequence。

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

技術分享圖片

(2) Sequence形式如下圖 優點:可以看到全部請求,這裏的結果以數據請求的順序來顯示,最新的請求顯示在最下面

技術分享圖片

綜上,兩種形式各有千秋,structure 適合對單一系列的訪問請求從宏觀上進行把握,可以快速定位。sequence 適合精確定位內容,因為每條sequence 都有size,status等屬性信息,方便快速定位這條結果的價值,樓主一般兩者一起使用。

4.PC端抓包

Charles支持抓去http、https協議的請求,不支持socket。

charles會自動配置瀏覽器和工具的代理設置,所以說打開工具直接就已經是抓包狀態了。

下圖顯示的是Charles的主界面:

技術分享圖片

上圖中的幾個小圖標是最常用的幾個功能。

1 垃圾桶圖標,功能是clear,清理掉所有請求顯示信息。
.
2. 望遠鏡圖標,功能是搜索關鍵字,也可以使用ctrl+f實現,可以設置搜索的範圍。

技術分享圖片

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

4 那個小鉛筆是編輯修改功能,可以對下圖中的請求信息進行修改,修改完畢後點擊Execute就可以發送一個修改後的請求數據包。如下圖,博主把cookies刪掉了

技術分享圖片

5 抓取的數據包的請求地址的url信息顯示。一般也可以直接在條目上右鍵copy url 在瀏覽器中查看。

6 抓取的數據包的請求內容的信息顯示。
技術分享圖片

7 返回數據內容信息的顯示。
技術分享圖片

解析後的JSON數據:
技術分享圖片

其中5、6、7中都有各種形式的數據顯示形式,其中raw是原始數據包的狀態。

5.移動應用抓包

這是博主應用最多的地方,除了手機端需要對http proxy 進行下設置,其他使用和PC端抓包基本類似,具體步驟如下:

  1. 手下手機和電腦必須在一個局域網內,不一定非要是一個ip段,只要是同一個路由器下就可以了,比如電腦連接的有線網ip為192.168.16.12,然後手機鏈接的wifi ip為192.168.1.103,但是這個有線網和無線網的最終都是來自於一個外部ip,這樣是可以的。
    .
  2. 具體配置,電腦端不用做任何配置,但是需要把防火墻關掉(這點很重要)!
    charles需要設置下代理端口:進入Proxy,點擊Proxy Setting, 端口設置為8888(一般默認為這個)

技術分享圖片

3 手機端配置
首先進入終端,執行 - ifconfig命令查看自己電腦的ip地址,然後在手機端的wifi代理設置那裏去進行相關的配置設置。如下圖,在手機wifi 的Http Proxy -> Manual進行設置,server與電腦ip相同,端口同Charles設置:

技術分享圖片

4 好了,這樣就配置完成就大功告成了,打開百度外賣就可以愉快的進行抓包了。

5.註意,使用完Charles之後,要點擊off,關閉手機端設置,要不然,手機會出現訪問異常的情況。

6.其他技能

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

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

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

7. charles使用問題匯總

Charles是一款很好用的抓包修改工具,但是使用的時候肯定會遇到各種感覺很莫名其妙的問題,下面列出一些常見問題:

1 為什麽下載後打不開?

因為charles是需要java環境才能運行的,需要先安裝java環境才可以。
Java: http://www.java.com/zh_CN/

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中Http Proxy:server是否為電腦ip, port 是否8888。

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

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

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

點擊狀態欄 Proxy -> Mac OS X Proxy 、Mozilla Firefox Proxy 這兩個勾選去掉,勾選表示接收電腦的數據抓包.
如果只想抓去APP的數據請求,可以不勾選此功能,減少其他信息幹擾。

9 為什麽我用IE可以抓到數據,但是用360或者谷歌瀏覽器就不行?

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

10 想要復制粘貼某些數據的話,怎麽辦,右鍵沒有相應功能啊?

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

8. 參考目錄

  1. charles使用教程指南
    http://drops.wooyun.org/tips/2423

網絡抓包神器-Charles使用指南