Charles是目前最強大的http調試工具,在界面和功能上遠勝於Fiddler,同時是全平臺支持,這麼好用的軟件惋惜就是收費的,網上是有破解版的Charles,學習交流可下載。java
首先須要下載java的運行環境支持。裝好java環境後,能夠直接去百度搜索並下載charles的破解版,下載到破解版以後,裏面通常會有註冊的jar文件,而後註冊後就能夠永久使用了(ps:不註冊的話,每次使用30分鐘,工具就會自動關閉),下載連接中是 V3.6版(http://pan.baidu.com/s/1h7xFL),最新版本是V3.8.3沒有破解包,因此不要升級到最新版。瀏覽器
charles抓包的顯示,支持兩種模式,Structure和Sequence。cookie
(1) Structure形式以下圖 優勢:能夠很清晰的看到請求的數據結構,並且是以域名劃分請求信息的,能夠很清晰的去分析和處理數據。數據結構
(2) Sequence形式以下圖 優勢:能夠看到所有請求,這裏的結果以數據請求的順序來顯示,最新的請求顯示在最下面app
綜上,兩種形式各有千秋,structure 適合對單一系列的訪問請求從宏觀上進行把握,能夠快速定位。sequence 適合精肯定位內容,由於每條sequence 都有size,status等屬性信息,方便快速定位這條結果的價值,樓主通常二者一塊兒使用。socket
Charles支持抓去http、https協議的請求,不支持socket。工具
charles會自動配置瀏覽器和工具的代理設置,因此說打開工具直接就已是抓包狀態了。學習
下圖顯示的是Charles的主界面:測試
上圖中的幾個小圖標是最經常使用的幾個功能。編碼
1 垃圾桶圖標,功能是clear,清理掉全部請求顯示信息。
.
2. 望遠鏡圖標,功能是搜索關鍵字,也可使用ctrl+f實現,能夠設置搜索的範圍。.
3 圓圈中間紅點的圖標,功能是領抓去的數據顯示或者不顯示的設置。 這個本人認爲是charles工具很方便的一個,通常都使其爲不顯示抓取狀態,只有當本身測試的時候的先後,在令其爲抓取並顯示狀態。這樣能夠快準狠的獲取到相關本身想要的信息,而沒必要在一堆數據請求中去尋找。4 那個小鉛筆是編輯修改功能,能夠對下圖中的請求信息進行修改,修改完畢後點擊Execute就能夠發送一個修改後的請求數據包。以下圖,博主把cookies刪掉了
5 抓取的數據包的請求地址的url信息顯示。通常也能夠直接在條目上右鍵copy url 在瀏覽器中查看。
6 抓取的數據包的請求內容的信息顯示。
7 返回數據內容信息的顯示。
解析後的JSON數據:
其中五、六、7中都有各類形式的數據顯示形式,其中raw是原始數據包的狀態。
這是博主應用最多的地方,除了手機端須要對http proxy 進行下設置,其餘使用和PC端抓包基本相似,具體步驟以下:
- 手下手機和電腦必須在一個局域網內,不必定非要是一個ip段,只要是同一個路由器下就能夠了,好比電腦鏈接的有線網ip爲192.168.16.12,而後手機連接的wifi ip爲192.168.1.103,可是這個有線網和無線網的最終都是來自於一個外部ip,這樣是能夠的。
.- 具體配置,電腦端不用作任何配置,可是須要把防火牆關掉(這點很重要)!
charles須要設置下代理端口:進入Proxy,點擊Proxy Setting, 端口設置爲8888(通常默認爲這個)3 手機端配置
首先進入終端,執行 - ifconfig命令查看本身電腦的ip地址,而後在手機端的wifi代理設置那裏去進行相關的配置設置。以下圖,在手機wifi 的Http Proxy -> Manual進行設置,server與電腦ip相同,端口同Charles設置:4 好了,這樣就配置完成就大功告成了,打開百度外賣就能夠愉快的進行抓包了。
5.注意,使用完Charles以後,要點擊off,關閉手機端設置,要否則,手機會出現訪問異常的狀況。
相信上面介紹的那些你已經學會了吧,下面再說說charles的一些其餘經常使用的功能
選擇請求後,右鍵能夠看到一些經常使用的功能,這裏說說Repeat 就是重複發包一次。 而後Advanced Repeat就是重複發包屢次,這個功能用來測試短信轟炸漏洞很方便。
還有好比說修改referer測試CSRF漏洞,修改form內容測試XSS,修改關鍵的參數測試越權,修改url、form、cookie等信息測試注入等,都很是方便。
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 便可。
- charles使用教程指南
http://drops.wooyun.org/tips/2423