charles與fiddler抓包

charles介紹及工作原理

介紹

charles其實是一款代理服務器,通過成為電腦或者瀏覽器的代理,然后截取請求和請求結果達到分析抓包的目的。該軟件是用Java寫的,能夠在Windows,Mac,Linux上使用,安裝Charles的時候要先裝好Java環(huán)境。

Charles是在 常用的網絡封包截取工具,在做移動開發(fā)時,我們?yōu)榱苏{試與服務器端的網絡通訊協(xié)議,常常需要截取網絡封包來分析。Charles 通過將自己設置成系統(tǒng)的網絡訪問代理服務器,使得所有的網絡訪問請求都通過它來完成,從而實現(xiàn)了網絡封包的截取和分析。除了在做移動開發(fā)中調試端口外,Charles 也可以用于分析第三方應用的通訊協(xié)議。配合 Charles 的 SSL 功能,Charles 還可以分析?HTTP協(xié)議

Charles 是收費軟件,可以免費試用 30 天。試用期過后,未付費的用戶仍然可以繼續(xù)使用,但是每次使用時間不能超過 30 分鐘,并且啟動時將會有 10 秒種的延時。因此,該付費方案對廣大用戶還是相當友好的,即使你長期不付費,也能使用完整的軟件功能。只是當你需要長時間進行封包調試時,會因為 Charles 強制關閉而遇到影響。

主要功能

1、截取 Http 和 Https 網絡封包 ? 抓包

2、支持重發(fā)網絡請求,方便后端調試

3、支持修改網絡請求參數

4、支持網絡請求的截獲并動態(tài)修改

5、支持模擬慢速網絡

工作原理

截獲真實客戶端的HTTPS請求,偽裝客戶端向真實服務端發(fā)送HTTPS請求

接受真實服務器響應,用Charles自己的證書偽裝服務端向真實客戶端發(fā)送數據內容

原理案例

租房子: ? 房客 ?? 中介 ? 房東

網頁抓包

web端http抓包

手機抓包

1、查看電腦IP地址

win+r 打開運行 輸入 cmd 打開命令

輸入命令 ipconfig

2、Charles代理設置

proxy->Proxy Settings...->proxies->port:8888勾選Enabletransparent http proxying->ok

注意 端口不能有沖突

>

3、在手機設備、模擬器或者遠程瀏覽器上設置代理

注意:抓取手機設備上的請求包(手機和電腦必須在同一個局域網內,并關閉電腦防火墻、其他代理或者翻墻軟件)

第一步:在手機wifi 上設置代理 -> 長按無線網絡-->修改網絡-->高級選項-->代理 手動-->手動輸入輸入IP、端口號

服務器IP:PC機器的IP(通過之前介紹的查看IP的方法)

端口號:8888(通過之前介紹的查看端口的方法)

第二步:Charles彈出詢問“allow”或者“deny”,點擊“allow”按鈕允許;出現(xiàn)手機的HTTP請求列表

4、常見問題

手機終端和計算機要在同一個網絡中

端口不能沖突

電腦防火墻

allow


https安裝證書

1、打開charles

2、選擇help-ssl proxying

3、選擇第二個選項? 針對于web端

4、選擇安裝證書

5、選擇將所有的證書放入下列存儲

6、選擇受信任的根證書頒發(fā)機構

7、下一步? 完成

導出證書

1、打開charles

2、選擇help-ssl proxying

3、save

4、選擇存放路徑以及證書名

導入證書

Charles 主界面介紹

Structure視圖

Structure:樹狀結構顯示,將網絡請求按訪問的域名分類;

Sequence視圖

Sequence:水平結構顯示,將網絡請求按訪問的時間排序

Proxy 菜單

過濾( Recording Settings )

Recording Settings

設置會話捕捉條件,include 面板用于啟用/停止可以捕捉/顯示的會話;

exclude 表示不顯示的會話,在會話列表中右鍵選擇 ignore 時,對應的url會出現(xiàn)在這里;

record_setting_add

比較好用的是過濾條件支持通配符,*表示任意多個字符,?表示一個字符,如Protocol中有http,https和 "",選擇空白或者輸入*都可以表示任意協(xié)議的請求;

Filter

過濾,可以輸入關鍵字來快速篩選出 URL 中帶指定關鍵字的網絡請求

斷點功能

在會話列表中右鍵點擊某個會話,然后在菜單中選擇Breakpoints;

通過Proxy-Breakpoint settings...中手動新建/啟用某個斷點;

要求勾選enable breakpoints之后當下次再有該請求時,會自動進入斷點模式;

一個完整請求會進入斷點模式2次:

1、request的發(fā)出之前;

2、收到服務器的response但尚未返回給客戶端的時候;

斷點request的時候,可以修改request信息,不過我們程序都有對請求header做校驗和處理,修改參數后一般就直接報錯了,所以這里看看response就好


fiddler抓http包

在打開的fidder中選中tools->options

在彈出的options對話框中選中capture? HTTPS? Conects? ? Decrypt?

Https? traffic? ? Ignoreserver? ? Certificate? ? errors(unsafa)

Actions->exprot? root? certificate? ? to? desktop

回到桌面雙擊 安裝證書 (信任的根證書目錄)

訪問項目地址 ,進行https抓包? ?

fiddler手機端

查詢本地IP地址win+r在運行中輸入cmd,在打開的命令中輸入ipconfig回車

在打開的fiddler界面中選擇'工具'-菜單-選項-在打開對話框中選擇connections

設置代理端口號為:8888? 確定重啟fiddler

在手機端無線網設置界面? 長按選擇‘修改網絡’,在修改網絡頁面選擇高級設置

代理服務器選擇手動? 輸入代理服務器地址和端口號

手機訪問項目地址? 在fiddler中查看抓到的內容?

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容