測試工具Fiddler(一)—— 基礎知識


Fiddler基礎知識

一、Fiddler是什么

Fiddler是一個http協議調試代理工具,它能夠記錄客戶端和服務器之間的所有 HTTP請求,可以針對特定的HTTP請求,分析請求數據、設置斷點、調試web應用、修改請求的數據,甚至可以修改服務器返回的數據,功能非常強大,是web調試的利器。

二、Fiddler的主要功能

  1. 截獲從瀏覽器或者客戶端軟件向服務器發送的http/https請求
  2. 修改客戶端請求或服務端響應
  3. 創建自動響應規則
  4. 模擬弱網場景
  5. 提供第三方擴展插件,測試網站性能

三、Fiddler工作原理

 

Fiddler是以代理WEB服務器的形式工作的,瀏覽器/客戶端與服務器之間通過建立TCP連接以HTTP協議進行通信,它使用代理地址:127.0.0.1,端口:8888

首先fiddler截獲客戶端瀏覽器發送給服務器的https請求, 此時還未建立握手。

第一步, fiddler向服務器發送請求進行握手, 獲取到服務器的CA證書, 用根證書公鑰進行解密, 驗證服務器數據簽名, 獲取到服務器CA證書公鑰。

第二步, fiddler偽造自己的CA證書, 冒充服務器證書傳遞給客戶端瀏覽器, 客戶端瀏覽器做跟fiddler一樣的事。

第三步, 客戶端瀏覽器生成https通信用的對稱密鑰, 用fiddler偽造的證書公鑰加密后傳遞給服務器, 被fiddler截獲。

第四步, fiddler將截獲的密文用自己偽造證書的私鑰解開, 獲得https通信用的對稱密鑰。

第五步, fiddler將對稱密鑰用服務器證書公鑰加密傳遞給服務器, 服務器用私鑰解開后建立信任, 握手完成, 用對稱密鑰加密消息, 開始通信。

第六步, fiddler接收到服務器發送的密文, 用對稱密鑰解開, 獲得服務器發送的明文。再次加密, 發送給客戶端瀏覽器。

第七步, 客戶端向服務器發送消息, 用對稱密鑰加密, fidller截獲后, 解密獲得明文。

由於fiddler一直擁有通信用對稱密鑰, 所以在整個https通信過程中信息對其透明。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM