1. charles安裝配置與抓包詳解


 

Charles簡介
Charles是一個HTTP代理服務器,HTTP監視器,反轉代理服務器,當瀏覽器連接Charles的代理訪問互聯網時,Charles可以監控瀏覽器發送和接收的所有數據。
它允許一個開發者查看所有連接互聯網的HTTP通信,這些包括request, response和HTTP headers (包含cookies與caching信息)。


1. 下載&安裝

官網下載:https://www.charlesproxy.com/latest-release/download.do


 

下載完成,要是沒有桌面圖標可以手動進行添加


2、在線破解工具使用,在線生成 注冊名和注冊秘鑰 

工具地址:https://www.zzzmode.com/mytools/charles/


3.  下面是破解操作步驟【很關鍵的一步,如果不破解就無法正常使用】

 

 

 

 

 打開 Charles 進入help—>Register Charles,在彈出框中輸入如下信息(你注冊的):
Registered Name:lingajijun
License Key:ec75fe257748c84613

輸入后,點擊:Resgister
出現如下圖所示信息,則注冊成功。

 

 

二.   配置

主要解決兩個問題:
1. 訪問帶https網站被攔截問題
2. 訪問帶https網站出現亂碼問題。

 

1. 解決訪問https網站被攔截問題?
1、進入help—>SSL Proxying—>Install Charles Root Certificate
2、進入后,根據窗口提示,安裝進相應位置。提示為將該證書安裝到"受信任的根證書頒發機構"
3、點擊安裝證書,出現如下窗口,選擇“本地計算機”,點擊"下一步"
4、選擇“將所有的證書與都放入下列存儲”,並通過“瀏覽”選擇存儲位置。根據之前的提示,這里我們需要選擇存儲到“受信任的根證書頒發機構”
5、繼續按照提示點擊下一步,直到出現提示成功的窗口,則證書安裝成功。

如果證書位置安裝錯誤想刪除或者想查看安裝的證書,可以通過控制面板—>搜索“證書”—>管理計算機證書
找到之前安裝的位置,會出現此目錄下所有證書,此時可以選擇刪除之前安裝錯誤的證書或者查看相關證書。

 

2. 解決抓取內容出現亂碼問題?
安裝好后的Charles打開有的頁面顯示為亂碼,這是因為https網頁的請求默認不解析,所以會呈現亂碼狀態。但是我們可以通過設置讓Charles來解析https網頁.
1、Proxy—>SSL Proxying Settings
2、進入設置窗口,Host填為,代表后面出現的任意Host,port設置443*
3、設置好后重啟軟件,刷新一下百度首頁。這時就可以正常抓取百度首頁並解析

 


三.  抓包

1、charles的說明

Charles其實是一款代理服務器,通過過將自己設置成系統(電腦或者瀏覽器)的網絡訪問代理服務器,然后截取請求和請求結果達到分析抓包的目的。該軟件是用Java寫的,能夠在Windows,Mac,Linux上使用。安裝Charles的時候要先裝好Java環境。

Charles的主要功能:

(1)截取Http 和 Https 網絡封包。

(2)支持重發網絡請求,方便后端調試。

(3)支持修改網絡請求參數。

(4)支持網絡請求的截獲並動態修改。

(5)支持模擬慢速網絡。

2、Web 抓取HTTPS協議

(1)安裝ssl證書

幫助-->SSL代理--->安裝charles證書

2.2 點擊安裝證書 -> 本地計算機 -> 將所有證書都放到下列儲存 -> 點擊下一步完成即可

2.3  設置設置HTTP/HTTPS協議端口
Proxy -> SSL Proxying Settiongs 在彈出選項卡中,勾選【Enable SSL Proxying】點擊【add】
添加以下Host和Port

1. *:*
2. *:443
3. *:80

 解釋:
     在Host輸入【*】表示接收任何主機 80是http協議的默認端口 443是https協議的默認端口

 

 (2)打開抓取web端設置
Proxy -> Windows Proxy 勾選中即可

 

 
2.5 訪問 www.baidu.com 能夠抓取到接口並且接口下有數據表示成功

注意:如果接口下抓取是unknown表示失敗
1. 協議未配置
2. 證書未安裝
3. 防火牆未關閉

 

3.  Charles手機抓包證書安裝(IOS)
App抓包
Charles抓包不僅僅可以抓取來在電腦端的HTTP請求,也能夠抓取來自App發出的HTTP請求,但是手機抓包需要在電腦端配置下,並且同時需要手機和電腦在同一網絡下並且手機VPN也需要關閉

3.1   端口號設置 Proxy -> Proxy Setting 默認端口號 8888

 

 
3.2   查看自己IP地址和端口號和下載證書網址

 

 

 

 
3.3   手機端設置:
1,打開手機的設置頁面;
2,選擇【無線局域網】;
3,IOS點擊連接的WIFI后面的感嘆號,安卓應該是長按連接的WIFI;(注:這里主要以IOS為例)
4,點擊【配置代理】–>【手動】;
5,輸入本機【IP地址】以及【端口號】,根據自己情況合理配置;
6,點擊【存儲】

 

 

 

再次說明:服務器IP和端口號需要用到自己的IP和Charles上設置的端口
查看方法:Help -> SSl Proxying -> Install Charles Root Certificate on a mobile Device or Remote Browser(步驟3.2 有截圖)

 

3.4 檢驗代理配置是否成功
打開瀏覽器驗證下手機請求,當我們看到Charles里能抓到這個連接,就說明配置沒問題,看到unknown,這個不要緊,
那是我們沒有安裝針對手機端的證書,下面繼續我們手機端HTTPS證書安裝

 

 

通過上面的設置,雖然來自我們手機端的Http協議請求可以抓取到,但是HTTPS協議的包是不能抓取的,
需要安裝配置證書才可以,現在手機上大多數都已經切到https很少由http協議的了


3.5   Charles配置:
手機打開瀏覽器輸入 chls.pro/ssl,如下提示,點擊允許(如果下載失敗,請更換瀏覽器重新在下)

 

 

3.6  進入設置 -> 描述文件與設備管理 -> 點擊未安裝的證書進行安裝

 

 

3.7 安裝成功后需要在 通用 -> 關於本機 -> 證書信任設置 中勾選Charles證書(針對於IOS手機)

 

 

最后,重新打開charles,手機訪問網頁/app就可以了 

注意事項:
手機和電腦需要在同一網絡下
手機VPN需要關閉
不同電腦對應不同證書,所以說你連接其他電腦需要重新下載手機證書
如果抓出來的接口顯示Unknown可以把防火牆關閉,再打開charles重新抓取

=============================================================================================================================================


 (3)配置抓包,填入默認代理端口 8888,且勾選 “Enable transparent HTTP proxying” 就完成了設置。


 

 

3、手機端抓包

 (1)使手機和電腦在同一個局域網內

手機和電腦必須在同一個網絡/wifi里,手機選擇和電腦相同wifi—>長按此wifi彈框中選擇修改網絡—>顯示高級選項—>服務器主機名輸入框中輸入電腦ip地址,服務器端口號填寫8888——>保存即可,此時手機和電腦綁定在一起一遍電腦抓手機上請求網絡數據.

第一步:手機安裝SSL證書

進入"Help"->"Install Charles Root Certificate on a Mobile Device or remote Browser",點擊

這時會有一個彈框,意思是要給手機設置代理,內容是192.168.1.103:8888,然后用手機瀏覽器打開chls.pro/ssl

 點擊立即下載

在手機設置->高級設置->安全里開啟未知來源應用下載和外部來源應用安裝

 

在手機文件管理里找到證書,將后綴pem改成crt,點擊安裝即可

這時發現手機上的HTTPS也能抓取下來了

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM