fiddler抓包与断点调试

  • 作者:lwj
  • 分类:工具
  • 发表日期:2019-10-10 21:55:51
  • 阅读(1075)
  • 评论(0)

解决抓包Tunnel to 443

1. 下载证书生成工具 {链接:https://pan.baidu.com/s/1d8pItWMivQWBt_yjlKikPA 提取码:nvu1}

2. 打开fiddler,选择fiddler脚本跳转到 OnBeforeRequest函数 (Fiddler Script  > OnBeforeRequest)

3. 在该函数结尾的大括号内添加下列代码并保存 (https抓包证书配置正确抓包结果出现Tunnel to 443,加下列代码重新生成证书)

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

4. 菜单栏>tool>Options> HTTPS  配置https抓包,如下图:

5. 菜单栏>tool>Options>Connections 配置允许抓包远程主机和代理端口号,如下图:

6. fiddlercertmaker.exe放入fiddler安装目录关闭fiddler并运行fiddlercertmaker.exe,运行完成导出证书到桌面(tool>Options>https>Actions>Export Root  certificate to Desktop)

7. PC端浏览器删除所有fiddler证书并导入桌面证书到浏览器【受信任的根证书颁发机构】,移动端设置代理通过浏览器进入http://IP地址:8888下载安装证书并【信任】

8. 重启fiddler与移动端后打开浏览器或者APP进行抓包测试


fiddler断点调试

全局断点

对请求断点: Rules > Automatick Breakpoints > Before Requests

对响应断点: Rules > Automatick Breakpoints > After Requests

断点后可在Requests(请求断点)和Response(响应数据) 对请求和响应数据进行修改然后点击Run to completion释放

命令行断点某域名:

# 请求断点
bpu https://www.baidu.com
# 响应断点
bpafter https://www.baidu.com

调试介绍后记得输入bpu + 回车   or   after + 回车 取消断点


遇到的问题

导入证书后Chrome浏览器访问https提示:您的连接不是私密连接

解决方法:再次运行fiddler,依次点击Tools下的Options,然后点HTTPS选项卡,再点击actions下的Reset All Certificates,重置证书

 

觉得不错,支持一下!

提交评论

您尚未登录,登录之后方可评论~ 登录 or 注册

评论列表

暂无评论
返回顶部

建议反馈

1. 可在博文底部留言评论

2. 发邮件到i_suichuan@163.com