一. Charles工作原理
本質就是一個http抓包分析工具,在工作的時候將charles設置成代理服務器,所有網絡請求都會經過Charles,這樣就實現了網絡封包的截取和分析。
主要功能
- 截取http和https網絡封包
- 支持重發網絡請求
- 支持修改網絡請求參數,網絡請求的截取、修改
- 可以模擬慢速網絡
二. Charles 安裝及破解
實驗環境:
win10 + 榮耀9
三. Charles 面板介紹
三. 手機抓包
手機抓包設置,主要分為3步
- 開啟Charles http代理
- 手機端wifi添加代理
- Charles彈窗咨詢詢問是否允許
詳細步驟:
-
右擊菜單欄"Proxy",選擇 "Proxy Settings"。
-
在"Proxy Settings" 頁面配置代理端口(默認是8888,如果端口沖突,可以更換為其他端口),並在啟動透明代理處打勾。
-
獲取PC端 ip 地址。
獲取pc端ip地址的方式有兩種。
3.1. 在菜單欄選擇"Help",點擊"Local IP Address"。
3.2. 按快捷鍵WIN + R 后,在輸入框輸入cmd,回車。在命令行模式輸入ipconfig 。然后查找綁定網卡的ip地址。
-
在手機端選擇設置-->無線與網絡 --> WLAN 打開無線。(以榮耀9為例)
-
連接與PC端處於同一個路由器的wifi
-
長按wifi名稱,點擊修改網絡
-
選擇代理為手動模式,並且輸入PC端ip地址,和代理端口
-
保存后在pc端會彈出一個確認菜單,詢問是否允許加入Charles。
-
選擇allow 后,即手機抓包設置已經基本完成。
手機抓包的注意事項:
- 電腦和手機必須處於同一路由器下,可以為不同的wifi,不同的網段。
- 關閉電腦防火牆
- 結束抓包時,及時恢復手機wifi代理(選擇代理模式為自動即可)。否則會影響手機上網。
四. Charles https抓包方式
4.1 PC端實現HTTPS抓包
PC端https抓包設置,主要分為2步
-
PC端安裝Charles證書
-
配置SSL的抓取域名
詳細步驟:
-
選擇菜單欄"Help",選擇"SSL Proxying" ,安裝根證書。
-
當選擇存儲位置時,選擇本地存儲,並選擇下一步。
-
選中"將所有的證書都存放入下列存儲"后,證書存儲選擇"受信任的根證書頒發機構",選擇下一步並確認完成.(如果選擇個人,可能會導致抓取https包失敗)
-
選擇菜單欄"Proxy",點擊"SSL Proxying settings"。
-
在"Enable SSL Proxying"處打勾,在include表單中添加host為通配符*,表示抓取所有域名。(也可以指定單個域名,如foo.example.com,也可以指定泛域名,如*.examle.com)
-
PC端抓取https協議包配置完畢
4.2 手機端實現https抓包
手機端https抓包設置,主要分為3步
-
在移動設備或遠程瀏覽器上安裝SSL證書
-
在手機端瀏覽器輸入網址 "chls.pro/ssl"
-
下載證書並信任該證書
詳細步驟:
-
選擇菜單欄"Help",選擇"SSL Proxying" ,安裝手機端根證書
-
在上一步操作完成后,會提示證書存儲位置,以及手機下載證書方式。(IOS10 雲雲..)
-
在手機瀏覽器輸入網址chls.pro/ssl 后下載證書到手機端。
-
在打開證書時提示輸入手機鎖屏密碼,輸入即可
-
輸入密碼后,為證書設置一名稱,憑據用途選擇"VPN 和應用",點擊確認。(圖中在這一點選擇有誤,請留意一下)
關於憑據用途的選擇,解釋如下:
You can use digital certificates to identify your device for a variety of purposes, including VPN or Wi-Fi network access as well as authentication to servers by apps such as Email or Chrome. If you plan to use certificates for Wi-Fi authentication, be sure to select the Wi-Fi option from the menu described below.
-
手機端抓取https協議包配置完畢
五. Charles 過濾網絡
charles過濾網絡有三種方式:
-
在主頁面的Filter 欄中輸入需要過濾出來的關鍵字
如圖所示,在主頁面filter欄輸入aldwx.com 后,我們會看到只會展示aldwx.com 相關的過濾包。
-
在菜單欄選擇"Proxy ",點擊 "Recording Settings",在彈出的窗口中選擇include欄,點擊"Add",在彈出的窗口中輸入需要監控的協議,主機地址,端口號等信息。
如上圖,輸入完畢后,連續兩次點擊"OK"后,再次抓包,這下我們就只能看到www.aldwx.com 這個域名的過濾包(ps: 我們同樣也可以使用*和?這樣的通配符過濾,以獲得更多域名的過濾包)
-
在想過濾的網絡請求上選中右擊,選擇"Foccus",之后在Filter欄中勾選 Focussed
第1,3種方式適合臨時、快速過濾網絡數據包,第2種方式適合長期、固定模式過濾網絡數據包
友情鏈接: mac下charles使用簡介
