1. 程式人生 > >Fiddler 如何進行手機抓包 和 Tunnel to 443的解決方法

Fiddler 如何進行手機抓包 和 Tunnel to 443的解決方法

1、首先安裝Fiddler

2、安裝成功後,點選上訪的Tools--》Options


進行這兩項設定,分別是HTTPs的抓包和 代理節點的設定

3、操作手機進行wifi的代理設定輸入裝有Fiddler的電腦的IP和埠,如上圖我預設的是8888

以上步驟已經可以進行手機一般的抓包了

4、要想進行Tunnel to 443的抓包,還要手機輸入http://IP:8888/FiddlerRoot.cer安裝證書

網上的大部分都是這樣,但是這樣試了之後還是不行,這樣就要感謝  https://www.cnblogs.com/hushaojun/p/6424674.html

5、在Fiddler右側的 FiddlerScript進行新增程式碼

5.1、Go to:OnBeforeRequest

5.2、在OnBeforeRequest函式結束的後面加上程式碼

static function OnBeforeRequest(oSession: Session){  
        var hosts = '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);
}
然後再次檢視,應該是在每個Tunnel to 443的後面都有個相應的HTTPS出來了,滿足大部分的應用了

參考地址

https://www.cnblogs.com/YMaster/p/6889972.html

https://www.cnblogs.com/hushaojun/p/6424674.html