Charles實際上是一款代理服務器,經過成爲電腦或者瀏覽器的代理,而後截取請求和請求結果達到分析抓包的目的json
charles的主要功能:後端
1. 支持SSL代理。能夠截取分析SSL的請求。瀏覽器
2. 支持流量控制。能夠模擬慢速網絡以及等待時間(latency)較長的請求。服務器
3. 支持AJAX調試。能夠自動將json或xml數據格式化,方便查看。網絡
4. 支持AMF調試。能夠將Flash Remoting 或 Flex Remoting信息格式化,方便查看。網站
5. 支持重發網絡請求,方便後端調試。spa
6. 支持修改網絡請求參數。3d
7. 支持網絡請求的截獲並動態修改。代理
8. 檢查HTML,CSS和RSS內容是否符合W3C標準。調試
charles抓包使用:
1. 將Charles設置成系統代理
2. 截取移動設備上的網絡請求包
2.1手動重複請求(Repeat,Advanced Repeat)
2.2手動模擬請求(Compose)
2.3修改網絡請求內容(Compose)
3. 過濾網絡請求
4. 代理轉發
5. 支持https請求抓包
Charles 主要提供兩種查看封包的視圖,分別名爲 「Structure」 和 「Sequence」。
1. Structure 視圖將網絡請求按訪問的域名分類。
2. Sequence 視圖將網絡請求按訪問的時間排序。
Charles 是經過將本身設置成代理服務器來完成抓包的,勾選系統代理後,系統本地發出去的請求都能被截取下來。
Chrome 和 Firefox 瀏覽器默認並不使用系統的代理服務器設置,而 Charles 是經過將本身設置成代理服務器來完成封包截取的,因此在默認狀況下沒法截取 Chrome 和 Firefox 瀏覽器的網絡通信內容。若是你須要截取的話,在 Chrome 中設置成使用系統的代理服務器設置便可,或者直接將代理服務器設置成 127.0.0.1:8888 也可達到相同效果。
注意:Charles是不能獲取https的請求數據的。
手機抓包:
一、打開charles,首先進行設置,Proxy -> Proxy Settings默認端口是8888,必須保證手機和電腦是在一個局域網裏面
二、手機設置代理
服務器寫你電腦的ip
端口號呢,默認是8888
查看本機IP地址:Help -> Local IP Addresses
而後配置手機代理:
IOS和Android配置差很少
打開要調試的APP,請求就會先發送到Charles,而後驗證是否容許訪問。
當點擊容許後,能夠在Proxy -> Access Control Settings裏看到能夠訪問此代理服務器列表
若是不當心點擊了拒絕,能夠手動添加手機IP/Mac地址到容許訪問列表,或者重啓Charles,手機再次訪問,會再次提示選擇。
若是不想每換一個手機都要進行驗證,能夠配置容許全部手機訪問,加入
0.0.0.0/0(IPv4)或::/0(IPv6)
過濾網絡請求
1. 在Sequence界面的中部的Filter欄中填入須要過濾出來的關鍵字。例如咱們的服務器的地址是:*.leautolink.com,那麼只須要在Filter欄中填入leautolink便可。(通常用於臨時過濾)
2.在Charles的菜單欄選擇"Proxy"->"Recording Settings",而後選擇Include欄,選擇添加一個項目,而後填入須要監控的協議,主機地址,端口號。固定過濾地址,這樣就能夠只截取目標網站的封包了。