SlideShare a Scribd company logo
1 of 48
Download to read offline
李明 @Bencalie

2011-05-04




               1
主要内容



  一、Fiddler 简介
  二、Fiddler 使用技巧
  三、使用脚本化的规则来扩展 Fiddler
  四、几个常见问题


       此分享基亍 Fiddler Web Debugger V2.3.3.0




                                             2
一、Fiddler 简介



   什么人需要它?

   · 前端开发工程师
   · 线上故障支持人员
   · 页面制作及接口开发
   · Web 安全人员




                 3
一、Fiddler 简介




        Fiddler 到底是什么?




                         4
一、Fiddler 简介


  · HTTP/HTTPS Web Debugger
  · A proxy server
  · Extremely extensible
  · Written in C#
  · It’s free




                              5
一、Fiddler 简介


  · HTTP/HTTPS Web Debugger
  · A proxy server
  · Extremely extensible
  · Written in C#
  · It’s free




                              6
一、Fiddler 简介
                      工作原理
                                          防火墙
CryptoAPI   WinHTTP



 Office


Internet                        CorpNET
            WinINET   Fiddler                   weibo.com
Explorer                         Proxy


 Chrome



 Safari



 Firefox
                                                       7
一、Fiddler 简介


               B/S 模型




     向右箭头代表上行数据,向左箭头代表下行数据
     高速路代表互联网连接,小商庖代表服务器数据


                             8
一、Fiddler 简介



   代理IP


    127.0.0.1:8888



                     9
一、Fiddler 简介


  · HTTP/HTTPS Web Debugger
  · A proxy server
  · Extremely extensible
  · Written in C#
  · It’s free




                              10
一、Fiddler 简介


  · HTTP/HTTPS Web Debugger
  · A proxy server
  · Extremely extensible
  · Written in C#
  · It’s free




                              11
一、Fiddler 简介


  · HTTP/HTTPS Web Debugger
  · A proxy server
  · Extremely extensible
  · Written in C#
  · It’s free




                              12
一、Fiddler 简介



   主要能力

   · 分析页面性能
   · 分析 HTTP 请求/响应数据
   · 设置断点,调试线上错误
   · 伪造数据请求,调试数据接口




                       13
一、Fiddler 简介


   主要能力

                 ②
               分析数据
      ①
     捕获数据
                 ③
               修改数据



                      14
一、Fiddler 简介



   安装
    · MS .Net Framework v2.0+
    · http://www.fiddler2.com/




                                 15
一、Fiddler 简介



                  工具栏




           会话列表         任务面板




                  状态栏
                               16
一、Fiddler 简介




 从左至右,依次是:

 会话编号、HTTP状态、协议、域名、地址、响应BODY大小、
 缓存、响应类型、来自进程及端口号、备注、自定义数据


                             17
一、Fiddler 简介



 命令行
    ALT+Q > type HELP…

 选择类:?text、>size、<size、=status、@host、

       blod text、select、allbut、keeponly

 断点类:bpafter、bps、bpv、bpm、bpu

 控制类:hide、start、stop、show、quit

 其他:cls/clear、dump、g/go、help、urlreplace
                                          18
一、Fiddler 简介



   任务面板部分

               让我们进入第二部分




                           19
二、Fiddler 使用技巧



  从主要能力说起

   ① 数据捕获

   ② 数据分析

   ③ 设置断点,修改数据

   ④ 辅助功能




                 20
二、Fiddler 使用技巧 —— ① 数据捕获



   为什么有时捕获丌到?


   · 检查软件 HTTP 代理设置
   · 检查 Fiddler 捕获开关
   · 检查过滤器设置
   · ( localhost 是特殊情况,后面会提到 )




                                 21
二、Fiddler 使用技巧 —— ① 数据捕获



   数据过滤

   ·过滤级别
   · Filter 面板
   · Content Blocking 插件




                           22
二、Fiddler 使用技巧 —— ② 数据分析



   数据分析     —— 请求分析面板


   · Statistics 面板
   · Inspectors 面板
   · Timeline 面板




                           23
二、Fiddler 使用技巧 —— ② 数据分析


  Buffering mode   VS   Streaming mode




 开启流模式:工具栏
                                         24
二、Fiddler 使用技巧 —— ② 数据分析



   数据分析      —— 单个请求分析插件


   · Syntax-Highlighting    (语法高亮插件)


   · JavaScript Formatter   (JS格式化)


   · HTML Inspector         (.Net 3.5 HTML分析)


   · JSON Inspector         (树状查看JSON数据)


   · XML Inspector          (查看POST的XML数据)




                                                25
二、Fiddler 使用技巧 —— ② 数据分析



   数据分析        —— 多个请求分析插件


   · neXpert Performance Report Generator
                           (性能分析插件)


   · Traffic Differ        (多个请求分析)


   · Gallery               (多个选中请求中的图片预览)




                                            26
二、Fiddler 使用技巧 —— ③ 设置断点修改数据



  断点(BreakPoint)

  在请求发出到服务器前(Before Requests)戒服务器
  响应请求后(After Responses)中断请求,并做相应
  的处理


  Rules -> Automatic Breakpoints -> Before Requests
  Rules -> Automatic Breakpoints -> After Responses
  命令行:bpafter、bps、bpv、bpm、bpu


                                                      27
二、Fiddler 使用技巧 —— ③ 设置断点修改数据


              B/S 模型




    黄点就是一个请求断点,蓝点就是一个响应断点



                               28
二、Fiddler 使用技巧 —— ③ 设置断点修改数据



  修改数据

   · AutoResponder面板
   · RequestBuilder面板




                               29
二、Fiddler 使用技巧 —— ③ 设置断点修改数据



  修改数据        —— 插件


   · Delayed Responses   (将请求延迟响应)


   · Stave/UrlReplace    (请求转向)


   · Willow              (请求转向)


   · Local Override      (请求转向)




                                     30
二、Fiddler 使用技巧 —— ④ 辅助功能



   辅助功能——HOST修改

   优点:无需重启浏览器
   开启:Tools -> HOSTS…



   另一种办法,修改注册表
   Windows Registry Editor Version 5.00

   [HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersion
   Internet Settings]
   "DnsCacheTimeout"=dword:5
   "ServerInfoTimeOut"=dword:5
                                                                  31
二、Fiddler 使用技巧 —— ④ 辅助功能



   辅助功能——模拟user-agent

   · 开启:Rules -> User-Agents
   · 可以编辑 Fiddler Rules 来增加/变更
    (Rules -> Customize Rules)




                                 32
二、Fiddler 使用技巧 —— ④ 辅助功能



   辅助功能——模拟慢速网络

   · 采用延时模拟,无法模拟浏览器并发连接数限制
   · 开启: Rules -> Performance ->
   Simulate Modem speed
   · 缺点 :功能比较单一,推荐使用 NetLimiter、
   Speed Simulator、Network Delay Simulator




                                             33
二、Fiddler 使用技巧 —— ④ 辅助功能



   辅助功能——字符编码解码

   · 开启:Tools -> Text Encode/Decode…
   · 支持的编码:
    Base64编码解码      URL Encode/Decode
    十六进制编码          Unicode编码解码
    HTML实体化编码解码     UTF-7编码解码
    Deflated 编码解码




                                        34
三、使用脚本化的规则来扩展 Fiddler



  Fiddler 的扩展机制

   · Fiddler 支持 Jscript.NET 引擎,可以很方
  便的修改 CustomRules.js 来扩展。
   · 修改后立即生效
   · 开启:Rules -> Customize Rules…




                                      35
三、使用脚本化的规则来扩展 Fiddler



  Fiddler 的扩展机制

  Handles 类两个最重要的事件:
    OnBeforeRequest(oSession: Session)
    OnBeforeResponse(oSession: Session)




                                          36
三、使用脚本化的规则来扩展 Fiddler



  OnBeforeRequest范例
  // 将扩展名为 ASPX 的请求变成红色
   if (oSession.uriContains(".aspx")) {
         oSession["ui-color"] = "red";
   }


  // 将 POST 请求变成斜体
   if (oSession.HostnameIs("www.fiddler2.com") &&
         oSession.HTTPMethodIs("POST")) {
         oSession["ui-italic"] = "yup";
   }



                                                    37
三、使用脚本化的规则来扩展 Fiddler



  OnBeforeRequest范例
  // URL 中含有 "/sandbox/" 的请求发出前被中断
   if (oSession.uriContains("/sandbox/")){
         oSession.oFlags["x-breakrequest"] = "yup";
         // x-breakrequest 标志标识创建一个断点,值yup无关紧要
   }


  // 如果 Header 含有 cookie,就将请求变成紫色
   if (oSession.oRequest.headers.Exists("Cookie")){
         oSession["ui-color"] = "purple";
         oSession["ui-bold"] = "cookie";
   }

                                                      38
四、几个常见问题


  关亍 localhost

  · IE9 RC 已经支持,无需额外处理
  · 使用机器名代替 http://机器名/
  · 使用 http://localhost./
  · 使用 http://ipv4.fiddler/
  · 使用 HOST 访问
  · 使用本机 IP 访问 (命令行 ipconfig 查看)


                                   39
四、几个常见问题


  Mac/linux 使用 Fiddler

  1、Windows (机器名:Winbox1) 上开启 Fiddler
  2、Fiddler 选项
    (Tools->Fiddler Options->Connections Tab)
    Allow remote computers to connect打勾

  3、Mac/Linux 上设置代理为
    Address: Winbox1       Port: 8888


                                                40
四、几个常见问题


 POST数据中文参数乱码问题




 解决:打开注册表编辑器,找到
    HKCUSoftwareMicrosoftFiddler2

    在里面添加一个字符串值,名叫 HeaderEncoding,
    值设置为默认编码,建议设成 GB18030
                                        41
四、几个常见问题


  意外死机戒者Fiddler异常退出后
  无法上网

  原因:Fiddler 异常退出,但是系统的代理仍然是
     127.0.0.1:8888
  解决办法:重新打开 Fiddler,正行关闭




                               42
四、几个常见问题


  Fiddler 中文版

  http://download.csdn.net/source/1619319


  缺陷:丌能支持最新版本




                                            43
相关话题


  FiddlerCap




               44
参考资料


  · 官方帮助

  · 官方视频

  · 谷歌讨论组

  · StackOverflow Q&A




                        45
题外话


  值得尊敬的 Eric

  仅仅去年,他就在 Fiddler 上投入了 $2500 (组件授
  权用了 $1549,主机、带宽和 PKI 用了 $512,编译
  器和其他工具用了 $433)
  Fiddler 越火, 自掏腰包就越多。


  http://www.fiddler2.com/fiddler/donate.asp

  有钱的捧个钱场,没钱的捧个人场
                                               46
题外话




  Bill Gates & Eric Lawrence
                               47
THE END
感谢我老婆精心设计的这套模板




                 48

More Related Content

Viewers also liked (20)

fruticultura
fruticultura fruticultura
fruticultura
 
Online Separation Techniques
Online Separation TechniquesOnline Separation Techniques
Online Separation Techniques
 
Clear Concept phylum Rotifera
Clear Concept phylum RotiferaClear Concept phylum Rotifera
Clear Concept phylum Rotifera
 
Web Services Today
Web Services TodayWeb Services Today
Web Services Today
 
foretaster in Silicon Valley
foretaster in Silicon Valleyforetaster in Silicon Valley
foretaster in Silicon Valley
 
June 23, 2013
June 23, 2013June 23, 2013
June 23, 2013
 
Durum wheat miloudi m. nachit icarda
Durum wheat miloudi m. nachit icardaDurum wheat miloudi m. nachit icarda
Durum wheat miloudi m. nachit icarda
 
Formulism
FormulismFormulism
Formulism
 
Exim mgt.kkk
Exim mgt.kkkExim mgt.kkk
Exim mgt.kkk
 
IUFRO - Preliminary assessment of climate change impact on optimized strategi...
IUFRO - Preliminary assessment of climate change impact on optimized strategi...IUFRO - Preliminary assessment of climate change impact on optimized strategi...
IUFRO - Preliminary assessment of climate change impact on optimized strategi...
 
Equivalente genericosmedicamentos
Equivalente genericosmedicamentosEquivalente genericosmedicamentos
Equivalente genericosmedicamentos
 
Forbidding evil
Forbidding evilForbidding evil
Forbidding evil
 
Chapter14 cd%20veal%20pdf
Chapter14 cd%20veal%20pdfChapter14 cd%20veal%20pdf
Chapter14 cd%20veal%20pdf
 
Fraud
FraudFraud
Fraud
 
Forcemeats
ForcemeatsForcemeats
Forcemeats
 
Chapter 14
Chapter 14Chapter 14
Chapter 14
 
Api manufacturer BULK DRUGS
Api manufacturer BULK DRUGSApi manufacturer BULK DRUGS
Api manufacturer BULK DRUGS
 
Operations Research
Operations ResearchOperations Research
Operations Research
 
Validation of friability test apapraturs
Validation of friability test apapratursValidation of friability test apapraturs
Validation of friability test apapraturs
 
Folliculogenesis
FolliculogenesisFolliculogenesis
Folliculogenesis
 

Similar to Fiddler使用技巧

Fiddler使用经验分享
Fiddler使用经验分享Fiddler使用经验分享
Fiddler使用经验分享hua qiu
 
企业安全应急响应与渗透反击V0.04(程冲)
企业安全应急响应与渗透反击V0.04(程冲)企业安全应急响应与渗透反击V0.04(程冲)
企业安全应急响应与渗透反击V0.04(程冲)WASecurity
 
防火墙产品原理介绍20080407
防火墙产品原理介绍20080407防火墙产品原理介绍20080407
防火墙产品原理介绍20080407paulqi
 
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐张所勇:前端开发工具推荐
张所勇:前端开发工具推荐zhangsuoyong
 
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享ChinaNetCloud
 
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页liu sheng
 
Web server and_cgi
Web server and_cgiWeb server and_cgi
Web server and_cgixu liwei
 
PHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB ServerPHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB Server志賢 黃
 
柔性数据接口的设计与实现
柔性数据接口的设计与实现柔性数据接口的设计与实现
柔性数据接口的设计与实现Leo Zhou
 
Introduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.xIntroduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.xBo-Yi Wu
 
前端性能优化和自动化
前端性能优化和自动化前端性能优化和自动化
前端性能优化和自动化kaven yan
 
Bluemix Node-Red Part II
Bluemix Node-Red Part IIBluemix Node-Red Part II
Bluemix Node-Red Part IIJoseph Chang
 
Deployment instruction tg1100 ig-cn
Deployment instruction tg1100 ig-cnDeployment instruction tg1100 ig-cn
Deployment instruction tg1100 ig-cnahnlabchina
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发leneli
 
基于 FRIDA 的全平台逆向分析
基于 FRIDA 的全平台逆向分析基于 FRIDA 的全平台逆向分析
基于 FRIDA 的全平台逆向分析CC
 
Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發Chui-Wen Chiu
 
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 Renaun Erickson
 
Internet System Security Overview
Internet System Security OverviewInternet System Security Overview
Internet System Security OverviewChinaNetCloud
 

Similar to Fiddler使用技巧 (20)

Fiddler使用经验分享
Fiddler使用经验分享Fiddler使用经验分享
Fiddler使用经验分享
 
LinkIt 7697 IoT tutorial
LinkIt 7697 IoT tutorialLinkIt 7697 IoT tutorial
LinkIt 7697 IoT tutorial
 
企业安全应急响应与渗透反击V0.04(程冲)
企业安全应急响应与渗透反击V0.04(程冲)企业安全应急响应与渗透反击V0.04(程冲)
企业安全应急响应与渗透反击V0.04(程冲)
 
防火墙产品原理介绍20080407
防火墙产品原理介绍20080407防火墙产品原理介绍20080407
防火墙产品原理介绍20080407
 
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐张所勇:前端开发工具推荐
张所勇:前端开发工具推荐
 
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
运维安全 抵抗黑客攻击_云络安全沙龙4月上海站主题分享
 
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
 
Web server and_cgi
Web server and_cgiWeb server and_cgi
Web server and_cgi
 
PHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB ServerPHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB Server
 
柔性数据接口的设计与实现
柔性数据接口的设计与实现柔性数据接口的设计与实现
柔性数据接口的设计与实现
 
Introduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.xIntroduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.x
 
CDP方案介绍
CDP方案介绍CDP方案介绍
CDP方案介绍
 
前端性能优化和自动化
前端性能优化和自动化前端性能优化和自动化
前端性能优化和自动化
 
Bluemix Node-Red Part II
Bluemix Node-Red Part IIBluemix Node-Red Part II
Bluemix Node-Red Part II
 
Deployment instruction tg1100 ig-cn
Deployment instruction tg1100 ig-cnDeployment instruction tg1100 ig-cn
Deployment instruction tg1100 ig-cn
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
 
基于 FRIDA 的全平台逆向分析
基于 FRIDA 的全平台逆向分析基于 FRIDA 的全平台逆向分析
基于 FRIDA 的全平台逆向分析
 
Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發Windows Mobile 多媒體應用程式開發
Windows Mobile 多媒體應用程式開發
 
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接
 
Internet System Security Overview
Internet System Security OverviewInternet System Security Overview
Internet System Security Overview
 

Fiddler使用技巧

  • 2. 主要内容 一、Fiddler 简介 二、Fiddler 使用技巧 三、使用脚本化的规则来扩展 Fiddler 四、几个常见问题 此分享基亍 Fiddler Web Debugger V2.3.3.0 2
  • 3. 一、Fiddler 简介 什么人需要它? · 前端开发工程师 · 线上故障支持人员 · 页面制作及接口开发 · Web 安全人员 3
  • 4. 一、Fiddler 简介 Fiddler 到底是什么? 4
  • 5. 一、Fiddler 简介 · HTTP/HTTPS Web Debugger · A proxy server · Extremely extensible · Written in C# · It’s free 5
  • 6. 一、Fiddler 简介 · HTTP/HTTPS Web Debugger · A proxy server · Extremely extensible · Written in C# · It’s free 6
  • 7. 一、Fiddler 简介 工作原理 防火墙 CryptoAPI WinHTTP Office Internet CorpNET WinINET Fiddler weibo.com Explorer Proxy Chrome Safari Firefox 7
  • 8. 一、Fiddler 简介 B/S 模型 向右箭头代表上行数据,向左箭头代表下行数据 高速路代表互联网连接,小商庖代表服务器数据 8
  • 9. 一、Fiddler 简介 代理IP 127.0.0.1:8888 9
  • 10. 一、Fiddler 简介 · HTTP/HTTPS Web Debugger · A proxy server · Extremely extensible · Written in C# · It’s free 10
  • 11. 一、Fiddler 简介 · HTTP/HTTPS Web Debugger · A proxy server · Extremely extensible · Written in C# · It’s free 11
  • 12. 一、Fiddler 简介 · HTTP/HTTPS Web Debugger · A proxy server · Extremely extensible · Written in C# · It’s free 12
  • 13. 一、Fiddler 简介 主要能力 · 分析页面性能 · 分析 HTTP 请求/响应数据 · 设置断点,调试线上错误 · 伪造数据请求,调试数据接口 13
  • 14. 一、Fiddler 简介 主要能力 ② 分析数据 ① 捕获数据 ③ 修改数据 14
  • 15. 一、Fiddler 简介 安装 · MS .Net Framework v2.0+ · http://www.fiddler2.com/ 15
  • 16. 一、Fiddler 简介 工具栏 会话列表 任务面板 状态栏 16
  • 17. 一、Fiddler 简介 从左至右,依次是: 会话编号、HTTP状态、协议、域名、地址、响应BODY大小、 缓存、响应类型、来自进程及端口号、备注、自定义数据 17
  • 18. 一、Fiddler 简介 命令行 ALT+Q > type HELP… 选择类:?text、>size、<size、=status、@host、 blod text、select、allbut、keeponly 断点类:bpafter、bps、bpv、bpm、bpu 控制类:hide、start、stop、show、quit 其他:cls/clear、dump、g/go、help、urlreplace 18
  • 19. 一、Fiddler 简介 任务面板部分 让我们进入第二部分 19
  • 20. 二、Fiddler 使用技巧 从主要能力说起 ① 数据捕获 ② 数据分析 ③ 设置断点,修改数据 ④ 辅助功能 20
  • 21. 二、Fiddler 使用技巧 —— ① 数据捕获 为什么有时捕获丌到? · 检查软件 HTTP 代理设置 · 检查 Fiddler 捕获开关 · 检查过滤器设置 · ( localhost 是特殊情况,后面会提到 ) 21
  • 22. 二、Fiddler 使用技巧 —— ① 数据捕获 数据过滤 ·过滤级别 · Filter 面板 · Content Blocking 插件 22
  • 23. 二、Fiddler 使用技巧 —— ② 数据分析 数据分析 —— 请求分析面板 · Statistics 面板 · Inspectors 面板 · Timeline 面板 23
  • 24. 二、Fiddler 使用技巧 —— ② 数据分析 Buffering mode VS Streaming mode 开启流模式:工具栏 24
  • 25. 二、Fiddler 使用技巧 —— ② 数据分析 数据分析 —— 单个请求分析插件 · Syntax-Highlighting (语法高亮插件) · JavaScript Formatter (JS格式化) · HTML Inspector (.Net 3.5 HTML分析) · JSON Inspector (树状查看JSON数据) · XML Inspector (查看POST的XML数据) 25
  • 26. 二、Fiddler 使用技巧 —— ② 数据分析 数据分析 —— 多个请求分析插件 · neXpert Performance Report Generator (性能分析插件) · Traffic Differ (多个请求分析) · Gallery (多个选中请求中的图片预览) 26
  • 27. 二、Fiddler 使用技巧 —— ③ 设置断点修改数据 断点(BreakPoint) 在请求发出到服务器前(Before Requests)戒服务器 响应请求后(After Responses)中断请求,并做相应 的处理 Rules -> Automatic Breakpoints -> Before Requests Rules -> Automatic Breakpoints -> After Responses 命令行:bpafter、bps、bpv、bpm、bpu 27
  • 28. 二、Fiddler 使用技巧 —— ③ 设置断点修改数据 B/S 模型 黄点就是一个请求断点,蓝点就是一个响应断点 28
  • 29. 二、Fiddler 使用技巧 —— ③ 设置断点修改数据 修改数据 · AutoResponder面板 · RequestBuilder面板 29
  • 30. 二、Fiddler 使用技巧 —— ③ 设置断点修改数据 修改数据 —— 插件 · Delayed Responses (将请求延迟响应) · Stave/UrlReplace (请求转向) · Willow (请求转向) · Local Override (请求转向) 30
  • 31. 二、Fiddler 使用技巧 —— ④ 辅助功能 辅助功能——HOST修改 优点:无需重启浏览器 开启:Tools -> HOSTS… 另一种办法,修改注册表 Windows Registry Editor Version 5.00 [HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersion Internet Settings] "DnsCacheTimeout"=dword:5 "ServerInfoTimeOut"=dword:5 31
  • 32. 二、Fiddler 使用技巧 —— ④ 辅助功能 辅助功能——模拟user-agent · 开启:Rules -> User-Agents · 可以编辑 Fiddler Rules 来增加/变更 (Rules -> Customize Rules) 32
  • 33. 二、Fiddler 使用技巧 —— ④ 辅助功能 辅助功能——模拟慢速网络 · 采用延时模拟,无法模拟浏览器并发连接数限制 · 开启: Rules -> Performance -> Simulate Modem speed · 缺点 :功能比较单一,推荐使用 NetLimiter、 Speed Simulator、Network Delay Simulator 33
  • 34. 二、Fiddler 使用技巧 —— ④ 辅助功能 辅助功能——字符编码解码 · 开启:Tools -> Text Encode/Decode… · 支持的编码: Base64编码解码 URL Encode/Decode 十六进制编码 Unicode编码解码 HTML实体化编码解码 UTF-7编码解码 Deflated 编码解码 34
  • 35. 三、使用脚本化的规则来扩展 Fiddler Fiddler 的扩展机制 · Fiddler 支持 Jscript.NET 引擎,可以很方 便的修改 CustomRules.js 来扩展。 · 修改后立即生效 · 开启:Rules -> Customize Rules… 35
  • 36. 三、使用脚本化的规则来扩展 Fiddler Fiddler 的扩展机制 Handles 类两个最重要的事件: OnBeforeRequest(oSession: Session) OnBeforeResponse(oSession: Session) 36
  • 37. 三、使用脚本化的规则来扩展 Fiddler OnBeforeRequest范例 // 将扩展名为 ASPX 的请求变成红色 if (oSession.uriContains(".aspx")) { oSession["ui-color"] = "red"; } // 将 POST 请求变成斜体 if (oSession.HostnameIs("www.fiddler2.com") && oSession.HTTPMethodIs("POST")) { oSession["ui-italic"] = "yup"; } 37
  • 38. 三、使用脚本化的规则来扩展 Fiddler OnBeforeRequest范例 // URL 中含有 "/sandbox/" 的请求发出前被中断 if (oSession.uriContains("/sandbox/")){ oSession.oFlags["x-breakrequest"] = "yup"; // x-breakrequest 标志标识创建一个断点,值yup无关紧要 } // 如果 Header 含有 cookie,就将请求变成紫色 if (oSession.oRequest.headers.Exists("Cookie")){ oSession["ui-color"] = "purple"; oSession["ui-bold"] = "cookie"; } 38
  • 39. 四、几个常见问题 关亍 localhost · IE9 RC 已经支持,无需额外处理 · 使用机器名代替 http://机器名/ · 使用 http://localhost./ · 使用 http://ipv4.fiddler/ · 使用 HOST 访问 · 使用本机 IP 访问 (命令行 ipconfig 查看) 39
  • 40. 四、几个常见问题 Mac/linux 使用 Fiddler 1、Windows (机器名:Winbox1) 上开启 Fiddler 2、Fiddler 选项 (Tools->Fiddler Options->Connections Tab) Allow remote computers to connect打勾 3、Mac/Linux 上设置代理为 Address: Winbox1 Port: 8888 40
  • 41. 四、几个常见问题 POST数据中文参数乱码问题 解决:打开注册表编辑器,找到 HKCUSoftwareMicrosoftFiddler2 在里面添加一个字符串值,名叫 HeaderEncoding, 值设置为默认编码,建议设成 GB18030 41
  • 42. 四、几个常见问题 意外死机戒者Fiddler异常退出后 无法上网 原因:Fiddler 异常退出,但是系统的代理仍然是 127.0.0.1:8888 解决办法:重新打开 Fiddler,正行关闭 42
  • 43. 四、几个常见问题 Fiddler 中文版 http://download.csdn.net/source/1619319 缺陷:丌能支持最新版本 43
  • 45. 参考资料 · 官方帮助 · 官方视频 · 谷歌讨论组 · StackOverflow Q&A 45
  • 46. 题外话 值得尊敬的 Eric 仅仅去年,他就在 Fiddler 上投入了 $2500 (组件授 权用了 $1549,主机、带宽和 PKI 用了 $512,编译 器和其他工具用了 $433) Fiddler 越火, 自掏腰包就越多。 http://www.fiddler2.com/fiddler/donate.asp 有钱的捧个钱场,没钱的捧个人场 46
  • 47. 题外话 Bill Gates & Eric Lawrence 47