Charles可以抓取手機和PC端所有的網絡請求,包括瀏覽器或app的請求;對於https請求抓取出來是亂碼,如果要抓取https請求,需要安裝https證書和SSL配置
PC端http抓包
- Proxy設置中的Windows Proxy勾選
設置charles為網絡代理,PC端發生網絡請求,就可以被Charles截獲到,如果只需要抓取手機請求,則取消勾選這個選項。
移動端http抓包
- 確保手機和電腦在一個局域網內
- 電腦端配置
1.關掉電腦防火牆
2.打開Charles的代理功能
打開 Proxy->Proxy Settings ,填入代理端口(端口默認為 8888,不用修改),勾選 Enable transparent HTTP proxying
3.如果不抓取電腦上的網絡請求,可以取消勾選Proxy->Windows Proxy - 手機端配置
1.Help->Local IP Address 查看PC端IP地址
2.設置手機端的wifi代理
找到連接的wifi(不能用4G),選擇手動代理,IP和端口,輸入步驟1的ip和代理端口8888,點擊連接該wifi
3.以上配置好后,手機上的任意網絡請求,就可以看到Charles彈出手機請求連接的確認菜單(只有首次彈出),點擊Allow即可。這樣就可以在Charles上進行移動端的抓包
https抓包
Charles默認是對http網絡抓包,如果要抓https的包,需要安裝https證書和SSL配置;如果不配置,https請求都是亂碼;
-
PC端安裝https證書
步驟1:點擊Help->SSL Proxying->Install Charles Root Certificate
步驟2:彈出的證書,點擊安裝,將所有的證書放到受信任的根證書頒發機構 -
移動端安裝https證書
- 點擊Help->SSL Proxying | Install Charles Root Certificate on a Mobile Device or Remote Browser,彈窗界面的chls.pro/ssl為證書路徑
- 手機端瀏覽器打開該地址,下載證書,安裝即可
- 配置SSL
安裝證書后,還需要配置SSL,否則charles上抓到的https請求結果為亂碼
步驟一:開啟SSL,
Proxy->SSL Proxying Settings 彈窗,勾選 Enable SSL proxying
步驟二:設置需要抓取的https請求
配置證書和開啟SSL代理后,Charles 默認也並不截取 Https 網絡通訊的信息,如果你想對截取某個網站上的所有 Https 網絡請求,可以在該請求上右擊,選擇 Enable SSL proxying;也可以手動添加;如添加ip和端口都為*,允許所有https請求
;然后刷新頁面,重新抓包