1. 程式人生 > >Fiddler關閉後打不開網頁

Fiddler關閉後打不開網頁

重新 https 電腦 如果 默認 五步 註銷 網頁 接收

今天項目系統測試的時候,CS客戶端的Restful請求都失敗,但是實際上的服務是正常開啟的,馬上通過cmd指令ping了一下服務,正常;再用telnet試了一下端口,也是正常。不過隨後發現在這臺電腦上面,也無法訪問服務的界面。這時候實在想不出是什麽原因造成這種情況,都快亮出重啟的大招的時候,看見測試電腦上面裝了Fiddler,就打開Fiddler,重新開啟軟件,restful請求一切正常,沒有任何問題,再試一下web界面也是正常。

1. Fiddler的工作原理

Fiddler是以代理web服務器的形式工作的,它使用代理地址:127.0.0.1,端口:8888. 當Fiddler啟動後將自己變成一個代理服務器,這個代理服務器默認監聽127.0.0.1:8888.然後打開IE的時候,IE瀏覽器會以127.0.0.1:8。 退出的時候它會自動註銷代理,這樣就不會影響別的程序。不過如果Fiddler非正常退出,這時候因為Fiddler沒有自動註銷,會造成網頁無法訪問。

2. Fiddler的工作流程

首先fiddler截獲客戶端瀏覽器發送給服務器的https請求, 此時還未建立握手。
第一步, fiddler向服務器發送請求進行握手, 獲取到服務器的CA證書, 用根證書公鑰進行解密, 驗證服務器數據簽名, 獲取到服務器CA證書公鑰。
第二步, fiddler偽造自己的CA證書, 冒充服務器證書傳遞給客戶端瀏覽器, 客戶端瀏覽器做跟fiddler一樣的事。
第三步, 客戶端瀏覽器生成https通信用的對稱密鑰, 用fiddler偽造的證書公鑰加密後傳遞給服務器, 被fiddler截獲。
第四步, fiddler將截獲的密文用自己偽造證書的私鑰解開, 獲得https通信用的對稱密鑰。
第五步, fiddler將對稱密鑰用服務器證書公鑰加密傳遞給服務器, 服務器用私鑰解開後建立信任, 握手完成, 用對稱密鑰加密消息, 開始通信。
第六步, fiddler接收到服務器發送的密文, 用對稱密鑰解開, 獲得服務器發送的明文。再次加密, 發送給客戶端瀏覽器。
第七步, 客戶端向服務器發送消息, 用對稱密鑰加密, 被fidller截獲後, 解密獲得明文
由於fiddler一直擁有通信用對稱密鑰, 所以在整個https通信過程中信息對其透明。

3.解決方法

結合Fiddler的工作原理,可能是Fiddler沒有自動註銷造成,所以修改 IE瀏覽器的默認代理即可完成。

打開IE瀏覽器-》在IE瀏覽器的設置選項中-》連接-》局域網設置-》代理服務器取消掉。

Fiddler關閉後打不開網頁