文章目錄
一、什麼是Charles
-
什麼是charles:
是一個HTTP代理服務器,HTTP監視器,反轉代理服務器,當瀏覽器連接Charles的代理訪問互聯網時,
Charles可以監控瀏覽器發送和接收的所有數據。它允許一個開發者查看所有連接互聯網的HTTP通信,
這些包括request, response和HTTP headers (包含cookies與caching信息) -
charles的主要功能:
支持SSL代理。可以截取分析SSL的請求。
支持流量控制。可以模擬慢速網絡以及等待時間(latency)較長的請求。
支持AJAX調試。可以自動將json或xml數據格式化,方便查看。
支持AMF調試。可以將Flash Remoting 或 Flex Remoting信息格式化,方便查看。
支持重發網絡請求,方便後端調試。
支持修改網絡請求參數。
支持網絡請求的截獲並動態修改。
檢查HTML,CSS和RSS內容是否符合W3C標準。 -
下載地址:
二、功能
-
配置手機
- 手機電腦連接至同一局域網
- Proxy --> Proxy Settings --> Port:8888
- 手機WiFi設置手動代理:
- IP:電腦ifconfig查到的IP
- 端口:8888
-
單獨抓取手機端:
如果只想抓取手機的包那就取消windows端代理: Proxy --> windows Proxy (取消勾選)
-
抓取windows的chrome、firefox數據
Chrome 和 Firefox 瀏覽器默認不使用系統的代理服務器設置,若要截取,需要在Chrome 中設置成使用系統的代理服務器設置,或直接將代理服務器設置成127.0.0.1:8888。
-
截取HTTPS通信
說明:https屬於加密協議,想截取分析https,需要安裝Charles的AC證書 1. Proxy –> SSL Proxying Setting –> Enable SSL Proxying點擊 Add,編輯Location,輸入 Host: * , Port: 443,點擊 OK。 2. PC 端證書安裝: Help –> SSL Proxying –> Install Charles Root Certificate,選擇 Charles 的證書,並信任此證書。 3. 移動端證書安裝: Help –> SSL Proxying –>Install Charles Root Certificate on a Mobile Device, 安裝彈出的對話框要求,手機配置好端口 爲 8888的代理之後,在手機瀏覽器訪問http://chls.pro/ssl就可以下載證書並安裝了。 注意: 對於 iOS 10.3以上的手機需要設置證書信任:點擊通用 -> 關於本機 -> 證書信任設置 -> 選擇 Charles 的證書打開。
-
模擬延遲網絡
Proxy -> Throttle Setting: 勾選“Enable Throttling”,設置 “Throttle Preset” 的類型 指定網站: 勾選上 “Only for selected hosts”,添加指定網站
-
反向代理
Charles的反向代理功能允許我們將本地的端口映射到遠程的另一個端口上,例如:將本機的6608端口映射到 遠程的aliyun.com:80上,當我們訪問本地6608實際返回的內容由aliyun.com:80提供。