Fiddler 如何進行手機抓包 和 Tunnel to 443的解決方法
阿新 • • 發佈:2019-01-07
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