Fiddler解決Tunnel to 443的問題

一、問題

1、在正常設置抓取HTTP的網絡數據後,手機抓包發現請求數據出現Tunnel to 443的問題:

二、解決

1、檢查抓包設置是否正確,可以參考我之前的文章

Fiddler手機抓包

Fiddler 抓取HTTPS的網絡數據

2、檢查設置無誤後,發現還是不可以,網友提示可以設置腳本解決

腳本在此

varhosts ='zkd.me develop.dog';

FiddlerApplication.Log.LogFormat("Logger session {0}, Url: {1}, isHttps: {2}, port: {3}", oSession.id, oSession.fullUrl, oSession.isHTTPS, oSession.port);

if(hosts.indexOf(oSession.host) >-1){

FiddlerApplication.Log.LogFormat("Capture session {0}, Url: {1}, isHttps: {2}, port: {3}", oSession.id, oSession.fullUrl, oSession.isHTTPS, oSession.port);

if(oSession.HTTPMethodIs('CONNECT')){

FiddlerApplication.Log.LogString('create fake tunnel response');

oSession['x-replywithtunnel'] ='FakeTunnel';

return;

            }

if(oSession.isHTTPS){

FiddlerApplication.Log.LogString('switch https to http request');

oSession.fullUrl = oSession.fullUrl.Replace("https://","http://");

oSession.port =80;

            } 

FiddlerApplication.Log.LogFormat("Processed session {0}, Url: {1}, isHttps: {2}, port: {3}", oSession.id, oSession.fullUrl, oSession.isHTTPS, oSession.port);

        }

FiddlerApplication.Log.LogFormat("Logger session {0}, Url: {1}, isHttps: {2}, port: {3}", oSession.id, oSession.fullUrl, oSession.isHTTPS, oSession.port);

}

原話註釋:這段代碼的作用是判斷如果這些指定的域名上有從瀏覽器傳來CONNECT的請求時,直接返回一個假的Response,這時Fiddler不會再試圖去讓請求的實際響應者回應這個CONNECT請求,而是自己返回了一個請求。瀏覽器在收到這個請求以後不明就裏,認爲是服務器已經返回了安全信息,於是便愉快地繼續發送請求。Fiddler在收到之後的請求,會將URL中的https替換爲http,端口強制更換爲80,再發給請求的實際響應者。多重啓幾次fiddler,最終你會發現,所有的https請求,都完美的被抓取了

3、實際上,我遇到的問題不是以上腳本解決的,因爲我可以捕捉到其他的請求

4、後面幾經思考,是因爲小程序抓包的時候需要打開調試模式,打開調試模式後,我就可以正常抓取到小程序的請求了

5、還有些人說443可能是因爲證書過期導致的,如果是證書過期的話,那麼重新安裝證書應該就可以了

三、拓展

1、HTTP請求和HTTPS請求混在一塊會看的眼花,通過腳本保存,可以讓HTTP請求和HTTPS請求顯示不一樣的顏色。腳本如下

//這段代碼隨便放哪,只要在這個OnBeforeRequest方法裏就行了。

        if(oSession.isHTTPS && oSession.url.indexOf(oSession.host)> -1){ 

            oSession["ui-color"] = "blue"; 

        } 

        if(!oSession.isHTTPS && oSession.url.indexOf(oSession.host)> -1){ 

            oSession["ui-color"] = "green"; 

        }

2、效果如下

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