首頁>技術>

發現了一款有趣的app,發現是https,導致不能看到其資料結構和加密方式是不是很捉急呢??? 本人做軟體測試已經有5年的歷史,那麼在平時的開發中有沒有好用的抓包軟體呢?有的,那就是Charles(本人說一聲抱歉,無論是開發iOS還是Android 都是一直使用的mac 所以我僅僅是介紹一下mac 的工具)

Charles是一款Http代理伺服器和Http監視器,當移動端在無線網連線中按要求設定好代理伺服器,使所有對網路的請求都經過Charles客戶端來轉發時,Charles可以監控這個客戶端各個程式所有連線網際網路的Http通訊。注:本人自己實踐抓http /https 協議,socket我沒有抓過。

一、安裝Charles客戶端 開啟瀏覽器訪問Charles官網 連結,下載相應系統的Charles安裝包,然後一鍵安裝即可。

charles官網介紹

image

當然您也可以下載我曾經使用的版本(建議您支援正版)破解版本下載連結密碼:mxhb

Charles提供兩種檢視封包的頁籤,一個是Structure,另一個是Sequence,Structure用來將訪問請求按訪問的域名分類,Sequence用來將請求按訪問的時間排序。任何程式都可以在Charles中的Structure視窗中看到訪問的域名。

目錄

1.1 Charles主要的功能 1.2 將 Charles 設定成系統代理 1.3 過濾網路請求 1.4 模擬慢速網路 1.5 修改網路請求內容 1.6 修改伺服器返回內容 1.7 抓取手機App網路請求

1.1Charles主要的功能

1.擷取Http、Https網路請求內容

2.支援修改網路請求引數,方便除錯

3.支援網路請求的擷取 並動態修改

charles選單項介紹

image

1.2將 Charles 設定成系統代理

我們在除錯移動APP時,需要抓取APP傳送的資料包,首先進行設定,Proxy -> Proxy Settings預設埠是8888,根據實際情況可修改(建議不要更改,因為在工作中會有很多人需要連結您的電腦)。

設定代理選項

image

代理伺服器埠設定

image

進行https的抓包

在mac上安裝證書 help -> SSL Proxying -> install Charles Root Certificate image在keychain上進行證書信任,開啟keychain 點選 鍵入keychain image在keychain中 點選login->Certificates,右擊(兩個手指頭點下),進行任意來源信任 image

本機安裝證書

image

匯出證書匯出p.12檔案 image5.通過airdrop 或者其他方式安裝到手機上,注意這還沒有完,需要在settig general->about->Certificate Trust Settings 進行證書的信任開啟,否則不能抓http://127.0.0.1/vhost/conf/img_echo.php?w=640&h=526&src=https image

安裝代理伺服器證書

image

在手機上設定相關的代理,主要此時需要關閉自己的vpn,否則沒有辦法抓包 image

現在大功告成了嗎?如果抓http的包早已經大功告成,但是如果抓https的還有一步呢

Proxy->SLL Proxy Settings image1.3 過濾網路請求在Filter 欄中填入需要過濾出來的關鍵字(可模糊搜尋) imagefocus 僅僅是關注自己關注的 image

過濾自己想要的ip

image

1.4 模擬慢速網路

在 Charles 的選單上,選擇Proxy ->Throttle Setting->Enable Throttling 如果我們只想模擬指定網站的慢速網路,可以再勾選上圖中的 “Only for selected hosts” 項即可。

網路延時模擬

image

1.5 修改網路請求內容

請求重新發起

image

1.6 修改伺服器返回內容

首先 要保證是開啟請求斷點是開啟的 選擇要修改的介面內容 ,勾選Breakpoints 開啟青花瓷切換成結構頁面,切換成Structure

修改伺服器內容

image

請求成功的例項

image

1.7 抓取相關的資料

介面協議在charles中的一些簡單介紹

image

http://127.0.0.1/vhost/conf/img_echo.php?w=640&h=518&src=https抓包正確顯示

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 基於Jenkins自動化部署spring boot專案