Fiddler抓包原理

一、Fidder適用範圍

  • 只能抓取HTTP、HTTPS數據包

二、原理

在這裏插入圖片描述
在瞭解Fiddler解密https的原理之前,我們首先要知道標準的https通信原理。
https://bravoing.github.io/2019/12/16/HTTPS%E5%8E%9F%E7%90%86/

瞭解以上常識後我們再看Fiddler解密https的過程其實不難:

客戶端發起請求,中間人(Fiddler)會攔截來自客戶端的請求,並將僞造的ca證書派發給客戶端。同時Fiddler向服務器請求,獲得服務器的ca證書。

客戶端接收到來自中間人(Fiddler)的證書,還傻傻的以爲這個證書是來自服務器的,並且使用證書裏的公鑰(其實是Fiddler的公鑰)對生成的通信祕鑰(對稱密鑰)加密,發送給服務器。可憐的是這個數據包也會被中間人(Fiddler)攔截。

中間人(Fiddler)使用自己的私鑰將數據包解密,很輕鬆地得到了通信祕鑰。之後使用服務器的RSA公鑰對通信密鑰加密後傳輸給服務器。

服務器接收到“客戶端”(其實是Fiddler)發送給自己的密鑰,使用RSA私鑰解密得到明文密鑰後,建立信任。握手完成。使用對稱密鑰加密消息, 開始通信。

後面的事情大家應該就明白了,由於Fiddler持有通信祕鑰,客戶端和服務器的通信對其始終是透明的。

三、Fiddler代理服務器(中間人)

  • 既然是主機,則必有地址,此地址爲127.0.0.1 端口8888
  • Fiddler開啓後打開IE,其PROXY自動變爲代理地址,但是火狐等需要手動設置
    在這裏插入圖片描述
  • 瀏覽器退出,則自動註銷代理,並不會影響使用。但是若Fiddler非正常退出,導致瀏覽器的代理服務器地址沒有註銷,會造成網頁打不開。(理由:此時端口還在偵聽,但代理服務器不能將請求發給真正服務器)
    所有我們要手動將瀏覽器的代理關掉。

四、Fiddler證書配置

Tools–Fiddler Options–HTTPS–Action–Trust Root Certificate

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章