Fiddler使用
程序员文章站
2022-06-06 08:12:24
...
https://blog.csdn.net/majinggogogo/article/details/72974441
主要是依据这篇文章实践的,下面是遇到的一些问题
1、下载不了证书
由于办公用的是便携机,虽然用的网线,但是和办公室的wifi就是同一个局域网,所以不需要再下载wifi分享工具,直接在手机上修改下wifi的HTTP代理设置然后保存即可
所以我觉得就是要保证手机和Fiddler在同一网络内
2 手机打开什么都是Tunnel To 443的请求,如图
不知道是不是由于我测试APP是外国的地址,请求出来都是这种,然后就修改了FiddlerScript,之后就可以了
具体就是在OnBeforeRequest这个函数的结尾补充代码,
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后听到“叮咚”就生效了,最好重启下。
再用手机打开APP操作时就看到了请求的地址
2 抓起https的请求
修改Fiddler配置
Tools -> Options -> HTTPS 和 Connections 配置,过程中提示安装证书,点击安装即可。
但是配好后通过google访问百度首页访问不了,其他的可以,用qq浏览器还可以访问百度,不知道为啥。
3、测试某个服务器允许的服务
点击左侧窗口可以查看每个请求的响应结果,返回200代表允许,返回405就代表不允许