1、Charles是什麼?後端
爲何要用抓包工具?你們在日常移動App調試測試中是如何進行抓包的?瀏覽器
在咱們作開發與測試的過程當中,總免不了碰到網絡問題,特別是重後臺的產品,這個時候咱們每每的處理方法是抓個網絡包,看看到底應用發送和接收了些什麼鬼.....這個時候Charles上場了;Charles是一款屌的不行的截包工具,好用到沒朋友。安全
那麼Charles屌在哪裏呢???主要特色以下:服務器
1.支持SSL代理,能夠截取分析SSL的請求網絡
2.支持流量控制。能夠模擬慢速網絡(2G,3G),以及等待時間較長的請求。less
3.支持AJAX調試。能夠自動把JSON或者XML數據格式化,方便查看。工具
4.支持重發網絡請求,方便後端調試。測試
5.支持修改網絡請求參數。加密
6.支持網絡請求的截取和動態修改。url
7.最重要的一個優勢就是有不一樣平臺的版本(Mac,Windows、Linux)即學一個打遍天下。
charles是經過網絡代理來進行抓包的,下面先了解一下http代理的原理:
1.普通http請求過程
2.加入了Charles的HTTP代理的請求與響應過程
1.官網下載地址:
2.Mac下安裝:
是一個安裝包是一個dmg後綴的文件。打開後將Charles拖到Application目錄下即完成安裝。
3.Windows下安裝:
下載後直接雙擊根據安裝嚮導一步一步安裝便可
Step 1:開啓Charleshttp代理;
Step 2:手機端Wifi添加代理;
Step 3:開啓Charles錄製功能;
Step 4:啓動應用開始抓包;
Step 5:分析抓取的數據包。
a.設置Charles代理
a.激活http代理功能
1.在手機端打開你的Wifi設置而後長按已經鏈接的Wifi在彈出來的菜單中選擇【修改網絡】
2.溝上[顯示高級]選項--【手動】
3.輸入代理服務器的IP與端口,IP即安裝了Charles的電腦IP地址,端口就是前面一步設置Charles時所設置的端口。
1.點擊你所鏈接的wifi
2.輸入代理服務器的IP與端口,
IP即安裝了Charles的電腦IP地址,端口就是前面一步設置Charles時所設置的端口。
1.Charles 主要提供兩種查看封包的視圖,分別名爲 「Structure」和 「Sequence」:
a.Structure 視圖將網絡請求按訪問的域名分類;
b.Sequence 視圖將網絡請求按訪問的時間排序。
2.你們能夠根據具體的須要在這兩種視圖以前來回切換。請求多了有些時候會看不過來,Charles提供了一個簡單的Filter功能,能夠輸入關鍵字來快速篩選出URL 中帶指定關鍵字的網絡請求。
3.對於某一個具體的網絡請求,你能夠查看其詳細的請求內容和響應內容。若是請求內容是POST 的表單,Charles 會自動幫你將表單進行分項顯示。若是響應內容是 JSON 格式的,那麼 Charles能夠自動幫你將JSON 內容格式化,方便你查看。若是響應內容是圖片,那麼 Charles能夠顯示出圖片的預覽。
Step 1:瞭解一下https的基本原理;
Step 2:在手機端安裝SSL證書;
Step 3:激活Charles的SSL代理;
Step 4:將指定的URL請求開啓SSL代理功能
Step 5:其餘步驟與Http抓包相同,請參考4、Http抓包操做步驟
詳細說明,請參考:
1.將證書文件從Charles導出
2.而後經過adb或者其餘工具將其複製到手機的SD卡中。
3.將證書文件導入Android手機
4.將證書文件導入iOS手機
Step 1:設置Charless斷點。
Step 2:對指定的URL開啓斷點功能。
Step 3:編輯請求與響應的內容。
a.編輯請求內容
b.編輯服務器響應的內容
1.菜單中選擇【Proxy】--->【Throttle Settings..】-à激活【Enable Throttling】。
2.在Throttle Configuration設置弱網的參數。
3.如下是各類網制式的速率參考文檔:
做者:luckydaxian連接:https://www.jianshu.com/p/68684780c1b0