欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Fiddler使用

程序员文章站 2022-06-06 08:12:24
...

https://blog.csdn.net/majinggogogo/article/details/72974441
主要是依据这篇文章实践的,下面是遇到的一些问题

1、下载不了证书

由于办公用的是便携机,虽然用的网线,但是和办公室的wifi就是同一个局域网,所以不需要再下载wifi分享工具,直接在手机上修改下wifi的HTTP代理设置然后保存即可
所以我觉得就是要保证手机和Fiddler在同一网络内
Fiddler使用

2 手机打开什么都是Tunnel To 443的请求,如图

Fiddler使用
不知道是不是由于我测试APP是外国的地址,请求出来都是这种,然后就修改了FiddlerScript,之后就可以了
具体就是在OnBeforeRequest这个函数的结尾补充代码,
Fiddler使用

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);
    }

点击左上角的Save Script后听到“叮咚”就生效了,最好重启下。
Fiddler使用
再用手机打开APP操作时就看到了请求的地址

2 抓起https的请求

修改Fiddler配置
Tools -> Options -> HTTPS 和 Connections 配置,过程中提示安装证书,点击安装即可。
Fiddler使用
Fiddler使用

但是配好后通过google访问百度首页访问不了,其他的可以,用qq浏览器还可以访问百度,不知道为啥。
Fiddler使用

3、测试某个服务器允许的服务

点击左侧窗口可以查看每个请求的响应结果,返回200代表允许,返回405就代表不允许
Fiddler使用
Fiddler使用