Fiddler是什么?
Fiddler是一个http调试代理,它能记录所有客户端和服务器的http和https请求,监听系统的Http网络数据流动,设置断点,修改输入输出数据,帮助我们了解HTTP协议。
Fiddler的工作原理
Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据。既然是代理,也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端,所以web客户端和服务器的请求如图所示:
Fiddler 下载安装
官网下载地址:http://www.telerik.com/fiddler
下载到本地,然后安装正常的安装流程执行。
主界面
工具面板:
说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助
两种模式
缓冲模式(Buffering Mode)Fiddler直到HTTP响应完成时才将数据返回给应用程序。可以控制响应,修改响应 数据。但是时序图有时候会出现异常
流模式(Streaming Mode)Fiddler会即时将HTTP响应的数据返回给应用程序。更接近真实浏览器的性能。时序图更准确,但是不能控制响应。
会话面板:
监控面板
1)Statistics关于HTTP请求的性能(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)以及数据分析。
2)Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容,提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息,如上图所示
3)AutoResponder 可用于拦截某一请求,即按自己添加的指定规则重定向到本地的资源或Fiddler资源,从而代替服务器响应。---下节Fiddler在软件测试中的具体应用举例说明
①关键字劫持
②篡改接口的返回内容
4)Composer 自定义请求发送服务器,Parsed模式下你只需要提供简单的URLS地址即可
5)Filters 即过滤规则,通过设置过滤规则来过滤所需的http请求,勾选左上角的Use Filters开启过滤器:
而这里有两个最常用的过滤条件:Zone和Host。Zone 指定只显示内网(Intranet)或互联网(Internet)的内容,Host 指定显示某个域名下的会话。
6)timeline 请求响应时间,在左侧会话窗口点击一个或多个请求,Timeline 便会显示指定内容从服务端传输到客户端的时间
接口请求消息结构
其他:
1、Fiddler 设置解密HTTPS的网络数据
Fiddler可以通过伪造CA证书来欺骗浏览器和服务器。解密HTTPS需要手动开启,依次点击:Tools –> Fiddler Options –> HTTPS ->勾选Decrypt HTTPS traffic -> 点击Yes,在弹出的对话框中选择是即可,如果不必监听服务器端得证书错误可以勾上“Ignore server certification errors”如图所示
2、Fiddler 内置命令与断点
FIddler断点功能就是将请求截获下来,直接点击Fiddler下图的图标位置,就可以设置全部请求的断点,也可以在命令栏输入断点命令进行截获,如图所示
3、Fiddler中提供的编码工具
点击Fiddler 工具栏上的TextWizard, 这个工具可以Encode和Decode string,如图所示
4、Fiddler中的查询会话
Edit->Find Sessions(或Ctrl+F)打开Find Sessions的对话框,输入关键字查询你要的会话。 查询到的会话会用黄色显示,如图所示
5、Fiddler中的保存会话
有些时候我们需要把会话保存下来,以便发给别人或者以后去分析。 保存会话的步骤如下:File->Save->Selected Sessions
6、Fiddler中的script脚本功能
首先先安装SyntaxView插件,Inspectors tab->Get SyntaxView tab->Download and Install SyntaxView Now… 如图所示
安装成功后Fiddler 就会多了一个FiddlerScript,在里面我们就可以编写脚本。如图所示:
参考:https://www.2cto.com/kf/201803/727300.html,https://www.cnblogs.com/conquerorren/p/8472285.html