fiddler工做原理和代理設置

1,什麼是Fiddlerweb

  Fiddler是一個http協議調試代理工具,它可以記錄客戶端和服務器之間的全部 HTTP請求,能夠針對特定的HTTP請求,分析請求數據、設置斷點、調試web應用、修改請求的數據,甚至能夠修改服務器返回的數據,功能很是強大,是web調試的利器。我這裏找不到包就是由於代理的問題。


2,Fiddler工做原理瀏覽器

Fiddler是以代理web服務器的形式工做的,它使用代理地址:127.0.0.1,端口:8888. 當Fiddler啓動後將本身變成一個代理服務器,這個代理服務器默認監聽127.0.0.1:8888.而後打開IE的時候,IE瀏覽器會以127.0.0.1:8。 退出的時候它會自動註銷代理,這樣就不會影響別的程序。不過若是Fiddler非正常退出,這時候由於Fiddler沒有自動註銷,會形成網頁沒法訪問。那他是怎樣的工做原理呢。服務器

 

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


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


第二步, fiddler僞造本身的CA證書, 冒充服務器證書傳遞給客戶端瀏覽器, 客戶端瀏覽器作跟fiddler同樣的事。


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


第四步, fiddler將截獲的密文用本身僞造證書的私鑰解開, 得到https通訊用的對稱密鑰。


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


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


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


因爲fiddler一直擁有通訊用對稱密鑰, 因此在整個https通訊過程當中信息對其透明。工具

 

3,fiddler安裝後抓不了包的問題加密

通常能支持HTTP代理的任意程序的數據包都能被Fiddler嗅探到,Fiddler的運行機制其實就是本機上監聽8888端口的HTTP代理。 Fiddler啓動的時候默認IE的代理設爲了127.0.0.1:8888,而其餘瀏覽器是須要手動設置的,因此將瀏覽器的代理改成127.0.0.1:8888就能夠監聽數據了。代理

相關文章
相關標籤/搜索