1.目前抓包測試的軟件主流的有2款: 1.charles 2.fiddler 均可以抓http+https的包,主要講解Charles,Fiddler與Charles大同小異。
簡介
- Charles 是在 Mac 下常用的網絡封包截取工具,在做 移動開發時,我們爲了調試與服務器端的網絡通訊協議,常常需要截取網絡封包來分析。
- 除了在做移動開發中調試端口外,Charles 也可以用於分析第三方應用的通訊協議。配合 Charles 的 SSL 功能,Charles 還可以分析 Https 協議。
- Charles 是收費軟件,可以免費試用 30 天。試用期過後,未付費的用戶仍然可以繼續使用,但是每次使用時間不能超過 30 分鐘,並且啓動時將會有 10 秒種的延時。因此,該付費方案對廣大用戶還是相當友好的,即使你長期不付費,也能使用完整的軟件功能。只是當你需要長時間進行封包調試時,會因爲 Charles 強制關閉而遇到影響。
主要功能
1.截取 Http 和 Https 網絡封包。
2.支持重發網絡請求,方便後端調試。
3.支持修改網絡請求參數。
4.支持網絡請求的截獲並動態修改。
5.支持模擬慢速網絡。
具體安裝及其配置
1.下載對應的環境的安裝包 http://www.charlesproxy.com/download/ (也可以自行下載破解版的 後面有破解方式講解)
2.安裝完進入charles,配置pc端證書
3.彈出鑰匙串。並設置證書爲信任
4.配置代理端口號 這個端口號 根據自己電腦端口號設置,不能被其它應用佔用該端口號
5.https抓包配置
host:需要抓包的域名/ip(也可以使用 * 通配符抓所有的) port:一般是443 也可以使用 * 通配符,抓所有端口的
6.移動端配置證書並信任
獲取代理服務的IP及端口號 獲取移動端證書下載地址
7.移動端先去 chls.pro/ssl 下載證書並信任該證書。然後在Wi-Fi那裏配置代理 (注:先優先下載證書然後設置手機代理,charles沒有啓動,有時會影響手機網絡無法使用)
使用
1.安裝配置之後啓動charles 主頁展示
2.structure: 抓包的請求按照同一個請求連接成樹狀結構展示 sequence:按照時間請求的先後順序展示
3.模擬慢速網絡 在 Charles 的菜單上,選擇 “Proxy”–>“Throttle Setting” 項,在之後彈出的對話框中,我們可以勾選上 “Enable Throttling”,並且可以設置 Throttle Preset 的類型
4.修改網絡請求參數 有些時候爲了調試服務器的接口,我們需要反覆嘗試不同參數的網絡請求。Charles 可以方便地提供網絡請求的修改和重發功能。只需要在以往的網絡請求上點擊右鍵,選擇 “Edit”,即可創建一個可編輯的網絡請求
5.服務器壓力測試 可以使用 Charles 的 Repeat 功能來簡單地測試服務器的併發處理能力。做的差的投票網站的可以用charles的這個功能增加投票量
6.修改服務器的返回內容 有些時候我們想讓服務器返回一些指定的內容,方便我們調試一些特殊情況。例如列表頁面爲空的情況,數據異常的情況,部分耗時的網絡請求超時的情況等。
7.其他 。Map功能、breakpoints功能、rewirite功能等 需要用的時候可以學習下。
破解
1.Charles 是收費軟件,可以免費試用 30 天。試用期過後,未付費的用戶仍然可以繼續使用,但是每次使用時間不能超過 30 分鐘,並且啓動時將會有 10 秒種的延時。因此,該付費方案對廣大用戶還是相當友好的,即使你長期不付費,也能使用完整的軟件功能。只是當你需要長時間進行封包調試時,會因爲 Charles 強制關閉而遇到影響。所有我們需要破解
2.在線破解方式 https://www.zzzmode.com/mytools/charles/
出現的問題及其解決方案
1.爲什麼下載了,沒法用? charles是基於java環境的,需要配置java環境。
2.打開需要10s,且每隔30min就自動關閉? 沒有註冊,需要破解。
3.手機設置代理之後,網絡連接失敗? 設置的代理IP或者端口號 不對。
4.抓不到https包? 這個問題有很多可能性。1.電腦的防火牆沒有關閉。 2.charles中沒有勾選ssl功能。 Proxy - Proxy Settings - SSL 設置。 3.移動端獲取charles上證書沒有改成信任 4.端口號被佔用 5.其他原因。
5.後續問題既是更新。